2021与蓝度共同重构项目,服务端
liuhaonan
2021-12-17 d2bf8caa38cc592cf5516bf64da27ad1ec8ea308
sandu-common/src/main/java/com/sandu/common/quartz/service/QuartzService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,68 @@
package com.sandu.common.quartz.service;
import org.springframework.scheduling.quartz.QuartzJobBean;
import java.util.Map;
/**
 * @author chenjiantian
 * @date 2021/12/15 10:36
 */
public interface QuartzService {
    /**
     * å¢žåŠ ä¸€ä¸ªä»»åŠ¡job
     *
     * @param jobClass å®žçŽ°çš„ä»»åŠ¡ç±»
     * @param jobId    ä»»åС唝䏀id
     * @param cron     cron表达式
     * @param jobData  å‚æ•°
     */
    void addJob(Class<? extends QuartzJobBean> jobClass, Long jobId, String cron, Map<String, Object> jobData);
    /**
     * ä¿®æ”¹ä¸€ä¸ªä»»åŠ¡job
     *
     * @param jobClass å®žçŽ°çš„ä»»åŠ¡ç±»
     * @param jobId    ä»»åС唝䏀id
     * @param cron     cron表达式
     * @param jobData  å‚æ•°
     */
    void updateJobCron(Class<? extends QuartzJobBean> jobClass, Long jobId, String cron, Map<String, Object> jobData);
    /**
     * åˆ é™¤ä¸€ä¸ªä»»åŠ¡job
     *
     * @param jobClass å®žçŽ°çš„ä»»åŠ¡ç±»
     * @param jobId    å®šæ—¶ä»»åŠ¡id
     */
    void deleteJob(Class<? extends QuartzJobBean> jobClass, Long jobId);
    /**
     * æš‚停一个任务job
     *
     * @param jobClass å®žçŽ°çš„ä»»åŠ¡ç±»
     * @param jobId    å®šæ—¶ä»»åŠ¡id
     */
    void pauseJob(Class<? extends QuartzJobBean> jobClass, Long jobId);
    /**
     * æ¢å¤ä¸€ä¸ªä»»åŠ¡job
     *
     * @param jobClass å®žçŽ°çš„ä»»åŠ¡ç±»
     * @param jobId    ä»»åС唝䏀id
     * @param cron     cron表达式
     * @param jobData  å‚æ•°
     */
    void resumeJob(Class<? extends QuartzJobBean> jobClass, Long jobId, String cron, Map<String, Object> jobData);
    /**
     * ç«‹å³æ‰§è¡Œä¸€ä¸ªä»»åŠ¡job
     *
     * @param jobClass å®žçŽ°çš„ä»»åŠ¡ç±»
     * @param jobId    ä»»åС唝䏀id
     * @param cron     cron表达式
     * @param jobData  å‚æ•°
     */
    void runJobNow(Class<? extends QuartzJobBean> jobClass, Long jobId, String cron, Map<String, Object> jobData);
}