package com.sohu.cache.schedule; import com.sohu.cache.entity.TriggerInfo; import org.quartz.JobDetail; import org.quartz.JobKey; import org.quartz.Trigger; import org.quartz.TriggerKey; import java.util.List; import java.util.Map; /** * 控制job、trigger和scheduler的基类 * User: lingguo * Date: 14-5-18 * Time: 下午8:18 */ public interface SchedulerCenter { public Trigger getTrigger(TriggerKey triggerKey); /** * @param triggerKey * @return */ public boolean unscheduleJob(TriggerKey triggerKey); /** * 根据cron部署Job * * @param jobKey * @param triggerKey * @param dataMap * @param cron * @param replace * @return */ public boolean deployJobByCron(JobKey jobKey, TriggerKey triggerKey, Map<String, Object> dataMap, String cron, boolean replace); /** * 根据延迟执行的Job * * @param jobKey * @param triggerKey * @param dataMap * @param delaySeconds * @param replace * @return */ public boolean deployJobByDelay(JobKey jobKey, TriggerKey triggerKey, Map<String, Object> dataMap, int delaySeconds, boolean replace); /** * 获取所有trigger * * @return */ public List<TriggerInfo> getAllTriggers(); /** * 模糊查询trigger * * @return */ public List<TriggerInfo> getTriggersByNameOrGroup(String query); /** * 暂定trigger * * @param triggerKey * @return */ public boolean pauseTrigger(TriggerKey triggerKey); /** * 恢复trigger * * @param triggerKey * @return */ public boolean resumeTrigger(TriggerKey triggerKey); }