package com.zcxk.quartz.service;

import com.zcxk.quartz.entity.QuartzEntity;

import java.util.List;

/**
 * Quartz定时任务服务类
 * @Description  
 * @author wilian.peng
 * @date 2019年2月20日 下午3:13:21
 */
public interface JobAndTriggerService {
	/**
	 * 获取作业详情
	 * @param jobName
	 * @param jobGroup
	 * @return
	 */
	public QuartzEntity getJobDetail(String jobName, String jobGroup);
	/**
	 * 判断作业是否已经存在
	 * @param entity
	 * @return
	 */
	public boolean isExists(QuartzEntity entity);
	/**
	 * 获取所有作业
	 * @return
	 */
	public List<QuartzEntity> listJobs();
	/**
	  * 新增定时任务
	 * @param entity
	 */
	public void addJob(QuartzEntity entity);
	/**
	  * 新增定时任务(短信发送)
	 * @param entity
	 */
	public void save(QuartzEntity entity);
	/**
	  * 删除定时任务
	 * @param entity
	 */
	public void deleteJob(QuartzEntity entity);
	/**
	  * 暂停定时任务
	 * @param entity
	 */
	public void pauseJob(QuartzEntity entity);
	/**
	  * 恢复定时任务
	 * @param entity
	 */
	public void resumeJob(QuartzEntity entity);
	/**
	  * 触发定时任务
	 * @param entity
	 */
	public void triggerJob(QuartzEntity entity);
	
	/**
	  * 重新调度任务
	 * @param entity
	 */
	public void rescheduleJob(QuartzEntity entity);
}
