Class CronTaskImpl

java.lang.Object
cool.scx.scheduling.CronTaskImpl
All Implemented Interfaces:
CronTask, ScheduleTask<CronTask>

public class CronTaskImpl extends Object implements CronTask
Cron 执行的任务
Version:
0.0.1
Author:
scx567888
  • Constructor Details

    • CronTaskImpl

      public CronTaskImpl()
  • Method Details

    • expression

      public CronTask expression(String expression)
      Description copied from interface: CronTask
      cron 表达式
      Specified by:
      expression in interface CronTask
      Parameters:
      expression - cron 表达式
      Returns:
      self
    • concurrent

      public CronTask concurrent(boolean concurrent)
      Description copied from interface: ScheduleTask
      是否运行并发执行 运行并发执行的时候 当到达规定时间时 无论上一次任务是否结束 都会开启下一次任务
      Specified by:
      concurrent in interface ScheduleTask<CronTask>
      Parameters:
      concurrent - 并发执行
      Returns:
      self
    • maxRunCount

      public CronTask maxRunCount(long maxRunCount)
      Description copied from interface: ScheduleTask
      最大运行次数 (此参数不受并发影响) 注意 当 并行(concurrent) 设置为 false 的时候 也可以在任务内部 取消 如下
      
              ScxScheduling
                       .fixedRate()
                       .delay(Duration.ofMillis(1))
                       .concurrent(false)
                       .start(c -> {
                           if (c.runCount() > 10){
                               c.cancel();
                           }
                           System.err.println(" runCount : " + c.runCount());
                       });
        
      但是此方式在 允许并发时并不准确 runCount 计数会因为多个线程同时运行累加从而跳过判断条件 所以如果需要 限制最大运行次数 推荐使用此参数
      Specified by:
      maxRunCount in interface ScheduleTask<CronTask>
      Parameters:
      maxRunCount - 最大运行次数
      Returns:
      self
    • executor

      public CronTask executor(ScheduledExecutorService executor)
      Description copied from interface: ScheduleTask
      执行器 默认会使用单例的 ScxScheduler 不建议自行设置
      Specified by:
      executor in interface ScheduleTask<CronTask>
      Parameters:
      executor - 执行器
      Returns:
      self
    • task

      public CronTask task(Consumer<ScheduleStatus> task)
      Description copied from interface: ScheduleTask
      任务
      Specified by:
      task in interface ScheduleTask<CronTask>
      Parameters:
      task - 任务
      Returns:
      self
    • start

      public ScheduleStatus start()
      Description copied from interface: ScheduleTask
      启动任务
      Specified by:
      start in interface ScheduleTask<CronTask>
      Returns:
      调度状态
    • run

      public void run()