Search in sources :

Example 1 with Task

use of cn.hutool.cron.task.Task in project Jpom by dromara.

the class CronUtils method add.

/**
 * 添加任务 已经存在则不添加
 *
 * @param id       任务ID
 * @param cron     表达式
 * @param supplier 创建任务回调
 */
public static void add(String id, String cron, Supplier<Task> supplier) {
    Scheduler scheduler = CronUtil.getScheduler();
    Task task = scheduler.getTask(id);
    if (task != null) {
        return;
    }
    scheduler.schedule(id, cron, supplier.get());
    // 
    CronUtils.start();
}
Also used : Task(cn.hutool.cron.task.Task) Scheduler(cn.hutool.cron.Scheduler)

Example 2 with Task

use of cn.hutool.cron.task.Task in project Jpom by dromara.

the class CronUtils method upsert.

/**
 * 添加任务、自动去重
 *
 * @param id   任务ID
 * @param cron 表达式
 * @param task 任务作业
 */
public static void upsert(String id, String cron, Task task) {
    Scheduler scheduler = CronUtil.getScheduler();
    Task schedulerTask = scheduler.getTask(id);
    if (schedulerTask != null) {
        CronUtil.remove(id);
    }
    // 创建任务
    CronUtil.schedule(id, cron, task);
    // 
    CronUtils.start();
}
Also used : Task(cn.hutool.cron.task.Task) Scheduler(cn.hutool.cron.Scheduler)

Aggregations

Scheduler (cn.hutool.cron.Scheduler)2 Task (cn.hutool.cron.task.Task)2