use of cn.hutool.cron.listener.TaskListener in project hutool by dromara.
the class CronTest method cronWithListenerTest.
@Test
@Ignore
public void cronWithListenerTest() {
CronUtil.getScheduler().addListener(new TaskListener() {
@Override
public void onStart(TaskExecutor executor) {
Console.log("Found task:[{}] start!", executor.getCronTask().getId());
}
@Override
public void onSucceeded(TaskExecutor executor) {
Console.log("Found task:[{}] success!", executor.getCronTask().getId());
}
@Override
public void onFailed(TaskExecutor executor, Throwable exception) {
Console.error("Found task:[{}] failed!", executor.getCronTask().getId());
}
});
// 支持秒级别定时任务
CronUtil.setMatchSecond(true);
CronUtil.start();
ThreadUtil.waitForDie();
Console.log("Exit.");
}
use of cn.hutool.cron.listener.TaskListener in project Jpom by dromara.
the class CronUtils method start.
/**
* 开始
*/
public static void start() {
boolean matchSecond = ExtConfigBean.getInstance().getTimerMatchSecond();
// 开启秒级
CronUtil.setMatchSecond(matchSecond);
//
Scheduler scheduler = CronUtil.getScheduler();
//
boolean started = scheduler.isStarted();
if (started) {
return;
}
synchronized (CronUtils.class) {
started = scheduler.isStarted();
if (started) {
return;
}
CronUtil.start();
scheduler.addListener(new TaskListener() {
@Override
public void onStart(TaskExecutor executor) {
TaskStat taskStat = TASK_STAT.computeIfAbsent(executor.getCronTask().getId(), s -> new TaskStat());
taskStat.lastExecuteTime = SystemClock.now();
taskStat.executeCount++;
}
@Override
public void onSucceeded(TaskExecutor executor) {
TaskStat taskStat = TASK_STAT.computeIfAbsent(executor.getCronTask().getId(), s -> new TaskStat());
taskStat.succeedCount++;
}
@Override
public void onFailed(TaskExecutor executor, Throwable exception) {
TaskStat taskStat = TASK_STAT.computeIfAbsent(executor.getCronTask().getId(), s -> new TaskStat());
taskStat.failedCount++;
DefaultSystemLog.getLog().error("定时任务异常", exception);
}
});
}
}
use of cn.hutool.cron.listener.TaskListener in project hutool by looly.
the class CronTest method cronWithListenerTest.
@Test
@Ignore
public void cronWithListenerTest() {
CronUtil.getScheduler().addListener(new TaskListener() {
@Override
public void onStart(TaskExecutor executor) {
Console.log("Found task:[{}] start!", executor.getCronTask().getId());
}
@Override
public void onSucceeded(TaskExecutor executor) {
Console.log("Found task:[{}] success!", executor.getCronTask().getId());
}
@Override
public void onFailed(TaskExecutor executor, Throwable exception) {
Console.error("Found task:[{}] failed!", executor.getCronTask().getId());
}
});
// 支持秒级别定时任务
CronUtil.setMatchSecond(true);
CronUtil.start();
ThreadUtil.waitForDie();
Console.log("Exit.");
}
Aggregations