12 changed files with 420 additions and 61 deletions
@ -0,0 +1,110 @@ |
|||
package com.ccsens.scheduler.listener; |
|||
|
|||
import org.quartz.*; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: whj |
|||
* @time: 2021/8/19 16:52 |
|||
*/ |
|||
public class SimpleSchedulerListener implements SchedulerListener { |
|||
@Override |
|||
public void jobScheduled(Trigger trigger) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void jobUnscheduled(TriggerKey triggerKey) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void triggerFinalized(Trigger trigger) { |
|||
System.out.println("触发器完成时不会再次被触发是被调度器调用"); |
|||
} |
|||
|
|||
@Override |
|||
public void triggerPaused(TriggerKey triggerKey) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void triggersPaused(String s) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void triggerResumed(TriggerKey triggerKey) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void triggersResumed(String s) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void jobAdded(JobDetail jobDetail) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void jobDeleted(JobKey jobKey) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void jobPaused(JobKey jobKey) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void jobsPaused(String s) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void jobResumed(JobKey jobKey) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void jobsResumed(String s) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void schedulerError(String s, SchedulerException e) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void schedulerInStandbyMode() { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void schedulerStarted() { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void schedulerStarting() { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void schedulerShutdown() { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void schedulerShuttingdown() { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void schedulingDataCleared() { |
|||
System.out.println("schedulingDataCleared"); |
|||
} |
|||
} |
@ -1,9 +1,28 @@ |
|||
package com.ccsens.scheduler.persist.dao; |
|||
|
|||
import com.ccsens.scheduler.bean.dto.QuartzJobDto; |
|||
import com.ccsens.scheduler.bean.vo.JobVo; |
|||
import com.ccsens.scheduler.persist.mapper.TaskMapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author wu |
|||
*/ |
|||
public interface TaskDao extends TaskMapper { |
|||
/** |
|||
* 查询任务列表 |
|||
* @param query 查询条件 |
|||
* @param appIds 操作人的appId |
|||
* @return |
|||
*/ |
|||
List<JobVo.JobDetail> query(@Param("query") QuartzJobDto.Query query, @Param("appIds") List<Long> appIds); |
|||
|
|||
/** |
|||
* 根据任务名和分组查询详情 |
|||
* @param query 任务名 分组 |
|||
* @return |
|||
*/ |
|||
JobVo.JobDetail get(@Param("query") QuartzJobDto.Get query); |
|||
} |
|||
|
@ -1,4 +1,4 @@ |
|||
spring: |
|||
profiles: |
|||
active: test |
|||
active: dev |
|||
include: common |
|||
|
@ -1,22 +1,10 @@ |
|||
/** |
|||
* _ooOoo_ |
|||
* o8888888o |
|||
* 88" . "88 |
|||
* (| -_- |) |
|||
* O\ = /O |
|||
* ___/`---'\____ |
|||
* . ' \\| |// `. |
|||
* / \\||| : |||// \ |
|||
* / _||||| -:- |||||- \ |
|||
* | | \\\ - /// | | |
|||
* | \_| ''\---/'' | | |
|||
* \ .-\__ `-` ___/-. / |
|||
* ___`. .' /--.--\ `. . __ |
|||
* ."" '< `.___\_<|>_/___.' >'"". |
|||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | |
|||
* \ \ `-. \_ __\ /__ _/ .-` / / |
|||
* ======`-.____`-.___\_____/___.-`____.-'====== |
|||
* `=---=' |
|||
* ............................................. |
|||
* 佛曰:bug泛滥,我已瘫痪! |
|||
*/ |
|||
|
|||
|
|||
_ _ U _____ u _ _ U ___ u U ___ u ____ _ ____ |
|||
|'| |'| \| ___"|/ |"| |"| \/"_ \/ __ __ \/"_ \/U | _"\ u |"| | _"\ |
|||
/| |_| |\ | _|" U | | u U | | u | | | | \"\ /"/ | | | | \| |_) |/U | | u /| | | | |
|||
U| _ |u | |___ \| |/__ \| |/__.-,_| |_| | /\ \ /\ / /\.-,_| |_| | | _ < \| |/__U| |_| |\ |
|||
|_| |_| |_____| |_____| |_____|\_)-\___/ U \ V V / U\_)-\___/ |_| \_\ |_____||____/ u |
|||
// \\ << >> // \\ // \\ \\ .-,_\ /\ /_,-. \\ // \\_ // \\ |||_ |
|||
(_") ("_)(__) (__)(_")("_)(_")("_) (__) \_)-' '-(_/ (__) (__) (__)(_")("_)(__)_) |
|||
|
|||
|
@ -1,5 +1,86 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.ccsens.scheduler.persist.dao.TaskDao"> |
|||
<sql id="triggerDetail"> |
|||
task.id, |
|||
task.job_name AS jobName, |
|||
task.job_group_name AS jobGroupName, |
|||
task.trigger_name AS triggerName, |
|||
task.trigger_group_name triggerGroupName, |
|||
task.cron, |
|||
task.misfire_policy AS misfirePolicy, |
|||
task.job AS job, |
|||
task.start_time AS startTime, |
|||
task.end_time AS endTime, |
|||
task.auto_move AS autoMove, |
|||
task.notify_way AS notifyWay, |
|||
task.notify_url AS notifyUrl, |
|||
task.notify_param AS notifyParam, |
|||
task.app_id AS appId, |
|||
task.rec_status AS recStatus, |
|||
trig.NEXT_FIRE_TIME nextFireTime, |
|||
trig.PREV_FIRE_TIME AS prevFireTime, |
|||
ifnull(trig.TRIGGER_STATE,'CLOSED') AS triggerState |
|||
</sql> |
|||
|
|||
<select id="query" resultType="com.ccsens.scheduler.bean.vo.JobVo$JobDetail"> |
|||
SELECT |
|||
<include refid="triggerDetail"/> |
|||
FROM |
|||
t_task task |
|||
left join QRTZ_TRIGGERS trig on task.trigger_name = trig.TRIGGER_NAME AND task.trigger_group_name = trig.TRIGGER_GROUP |
|||
left join QRTZ_JOB_DETAILS job on task.job_name = job.JOB_NAME AND task.job_group_name = job.JOB_GROUP |
|||
<where> |
|||
<if test="query.jobName != null and query.jobName != ''"> |
|||
AND task.job_name = #{query.jobName} |
|||
</if> |
|||
<if test="query.jobGroupName != null and query.jobGroupName != ''"> |
|||
AND task.job_group_name = #{query.jobGroupName} |
|||
</if> |
|||
<if test="query.triggerName != null and query.triggerName != ''"> |
|||
AND task.trigger_name = #{query.triggerName} |
|||
</if> |
|||
<if test="query.triggerGroupName != null and query.triggerGroupName != ''"> |
|||
AND task.trigger_group_name = #{query.triggerGroupName} |
|||
</if> |
|||
<if test="query.misfirePolicy != null and query.misfirePolicy != ''"> |
|||
AND task.misfire_policy = #{query.misfirePolicy} |
|||
</if> |
|||
<if test="query.job != null"> |
|||
AND task.job = #{query.job} |
|||
</if> |
|||
<if test="query.startTime != null and query.startTime != 0"> |
|||
AND task.start_time < #{query.endTime} |
|||
</if> |
|||
<if test="query.endTime != null and query.endTime != 0"> |
|||
AND task.end_time >= #{query.startTime} |
|||
</if> |
|||
<if test="query.autoMove != null"> |
|||
AND task.auto_move = #{query.autoMove} |
|||
</if> |
|||
<if test="query.notifyWay != null"> |
|||
AND task.notify_way = #{query.notifyWay} |
|||
</if> |
|||
<if test="query.appId != null and query.appId != 0"> |
|||
AND task.app_id = #{query.appId} |
|||
</if> |
|||
AND task.rec_status IN ( 0, 1 ) |
|||
AND task.app_id in |
|||
<foreach collection="appIds" item="appId" separator="," open="(" close=")"> |
|||
#{appId} |
|||
</foreach> |
|||
</where> |
|||
</select> |
|||
<select id="get" resultType="com.ccsens.scheduler.bean.vo.JobVo$JobDetail"> |
|||
SELECT |
|||
<include refid="triggerDetail"/> |
|||
FROM |
|||
t_task task |
|||
left join QRTZ_TRIGGERS trig on task.trigger_name = trig.TRIGGER_NAME AND task.trigger_group_name = trig.TRIGGER_GROUP |
|||
left join QRTZ_JOB_DETAILS job on task.job_name = job.JOB_NAME AND task.job_group_name = job.JOB_GROUP |
|||
where |
|||
task.job_name = #{query.jobName} |
|||
AND task.job_group_name = #{query.jobGroupName} |
|||
AND task.rec_status IN ( 0, 1 ) |
|||
</select> |
|||
</mapper> |
Loading…
Reference in new issue