Search in sources :

Example 1 with SysJob

use of com.ruoyi.quartz.domain.SysJob in project wumei-smart by kerwincui.

the class SysJobServiceImpl method updateJob.

/**
 * 更新任务的时间表达式
 *
 * @param job 调度信息
 */
@Override
@Transactional(rollbackFor = Exception.class)
public int updateJob(SysJob job) throws SchedulerException, TaskException {
    SysJob properties = selectJobById(job.getJobId());
    int rows = jobMapper.updateJob(job);
    if (rows > 0) {
        updateSchedulerJob(job, properties.getJobGroup());
    }
    return rows;
}
Also used : SysJob(com.ruoyi.quartz.domain.SysJob) Transactional(org.springframework.transaction.annotation.Transactional)

Example 2 with SysJob

use of com.ruoyi.quartz.domain.SysJob in project wumei-smart by kerwincui.

the class SysJobServiceImpl method run.

/**
 * 立即运行任务
 *
 * @param job 调度信息
 */
@Override
@Transactional(rollbackFor = Exception.class)
public void run(SysJob job) throws SchedulerException {
    Long jobId = job.getJobId();
    String jobGroup = job.getJobGroup();
    SysJob properties = selectJobById(job.getJobId());
    // 参数
    JobDataMap dataMap = new JobDataMap();
    dataMap.put(ScheduleConstants.TASK_PROPERTIES, properties);
    scheduler.triggerJob(ScheduleUtils.getJobKey(jobId, jobGroup), dataMap);
}
Also used : SysJob(com.ruoyi.quartz.domain.SysJob) JobDataMap(org.quartz.JobDataMap) Transactional(org.springframework.transaction.annotation.Transactional)

Example 3 with SysJob

use of com.ruoyi.quartz.domain.SysJob in project RuoYi-Vue by yangzongzhuan.

the class SysJobServiceImpl method init.

/**
 * 项目启动时,初始化定时器 主要是防止手动修改数据库导致未同步到定时任务处理(注:不能手动修改数据库ID和任务组名,否则会导致脏数据)
 */
@PostConstruct
public void init() throws SchedulerException, TaskException {
    scheduler.clear();
    List<SysJob> jobList = jobMapper.selectJobAll();
    for (SysJob job : jobList) {
        ScheduleUtils.createScheduleJob(scheduler, job);
    }
}
Also used : SysJob(com.ruoyi.quartz.domain.SysJob) PostConstruct(javax.annotation.PostConstruct)

Example 4 with SysJob

use of com.ruoyi.quartz.domain.SysJob in project RuoYi-Vue by yangzongzhuan.

the class SysJobServiceImpl method updateJob.

/**
 * 更新任务的时间表达式
 *
 * @param job 调度信息
 */
@Override
@Transactional(rollbackFor = Exception.class)
public int updateJob(SysJob job) throws SchedulerException, TaskException {
    SysJob properties = selectJobById(job.getJobId());
    int rows = jobMapper.updateJob(job);
    if (rows > 0) {
        updateSchedulerJob(job, properties.getJobGroup());
    }
    return rows;
}
Also used : SysJob(com.ruoyi.quartz.domain.SysJob) Transactional(org.springframework.transaction.annotation.Transactional)

Example 5 with SysJob

use of com.ruoyi.quartz.domain.SysJob in project RuoYi-Vue by yangzongzhuan.

the class SysJobServiceImpl method run.

/**
 * 立即运行任务
 *
 * @param job 调度信息
 */
@Override
@Transactional(rollbackFor = Exception.class)
public void run(SysJob job) throws SchedulerException {
    Long jobId = job.getJobId();
    String jobGroup = job.getJobGroup();
    SysJob properties = selectJobById(job.getJobId());
    // 参数
    JobDataMap dataMap = new JobDataMap();
    dataMap.put(ScheduleConstants.TASK_PROPERTIES, properties);
    scheduler.triggerJob(ScheduleUtils.getJobKey(jobId, jobGroup), dataMap);
}
Also used : SysJob(com.ruoyi.quartz.domain.SysJob) JobDataMap(org.quartz.JobDataMap) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

SysJob (com.ruoyi.quartz.domain.SysJob)18 Transactional (org.springframework.transaction.annotation.Transactional)9 Log (com.ruoyi.common.annotation.Log)3 PostConstruct (javax.annotation.PostConstruct)3 JobDataMap (org.quartz.JobDataMap)3 JobExecutionException (org.quartz.JobExecutionException)3 PreAuthorize (org.springframework.security.access.prepost.PreAuthorize)3 PutMapping (org.springframework.web.bind.annotation.PutMapping)3