类 AbstractScheduler

java.lang.Object
com.walker.scheduler.AbstractScheduler
所有已实现的接口:
Scheduler
直接已知子类:
AbstractKernelScheduler, ListeningScheduler

public abstract class AbstractScheduler extends Object implements Scheduler
  • 字段详细资料

    • logger

      protected final transient org.slf4j.Logger logger
    • startTime

      protected long startTime
    • nThreads

      public int nThreads
    • nThreadQueue

      public int nThreadQueue
    • started

      protected boolean started
    • scheduleEngine

      protected ScheduleEngine scheduleEngine
  • 构造器详细资料

    • AbstractScheduler

      public AbstractScheduler()
    • AbstractScheduler

      public AbstractScheduler(int id, String name)
  • 方法详细资料

    • setId

      public void setId(int id)
    • setName

      public void setName(String name)
    • getScheduleEngine

      public ScheduleEngine getScheduleEngine()
    • getStoreId

      public String getStoreId()
      指定者:
      getStoreId 在接口中 Scheduler
    • getCurrentFailedTime

      public int getCurrentFailedTime()
      返回采集请求数据发生错误的次数,无论是http或者数据库请求失败都会计数。
      当该值超过最大整数时,自动清零,并重新计数。
      返回:
    • getId

      public int getId()
      指定者:
      getId 在接口中 Scheduler
    • getName

      public String getName()
      指定者:
      getName 在接口中 Scheduler
    • getOption

      public Option getOption()
      指定者:
      getOption 在接口中 Scheduler
    • getTimeInterval

      public long getTimeInterval()
    • getStartTime

      public long getStartTime()
      指定者:
      getStartTime 在接口中 Scheduler
    • getRestartTime

      public long getRestartTime()
    • isStarted

      public boolean isStarted()
      指定者:
      isStarted 在接口中 Scheduler
    • isPause

      public boolean isPause()
      指定者:
      isPause 在接口中 Scheduler
    • isTaskTerminateCondition

      public boolean isTaskTerminateCondition()
      从接口复制的说明: Scheduler
      返回执行任务如果没有采集到数据,是否终止该任务。
      如果返回true则终止任务执行。
      指定者:
      isTaskTerminateCondition 在接口中 Scheduler
      返回:
    • isKernelScheduler

      public boolean isKernelScheduler()
      从接口复制的说明: Scheduler
      返回是否'核心'调度器,核心调度器不能够被人为管理(启动、停止等)。
      它只能被超级管理员控制,通常启动后不会被终止(除非超管干预)。
      指定者:
      isKernelScheduler 在接口中 Scheduler
      返回:
    • interruptKernelThread

      public void interruptKernelThread()
      中断执行线程,通常是在它间隔睡眠时,执行该方法唤醒。
    • getStart

      public boolean getStart()
    • getPause

      public boolean getPause()
    • start

      public void start()
      指定者:
      start 在接口中 Scheduler
    • restart

      public void restart()
      指定者:
      restart 在接口中 Scheduler
    • stop

      public void stop()
      指定者:
      stop 在接口中 Scheduler
    • pause

      public void pause()
      指定者:
      pause 在接口中 Scheduler
    • setCurrentFailedTime

      protected void setCurrentFailedTime(int currentFailedTime)
    • setTimeInterval

      public void setTimeInterval(long timeInterval)
    • setTaskTerminateCondition

      public void setTaskTerminateCondition(boolean boo)
      从接口复制的说明: Scheduler
      告诉调度器,任务调用设否要设置'终止条件'。

      因为通常一个任务在重复执行过程中,如果获取不到外部新的数据,继续执行就没有意义,
      因此通过该参数,系统可以在适当的时候暂停某个任务,来为其他任务分配资源。
      指定者:
      setTaskTerminateCondition 在接口中 Scheduler
    • setMaxFailedTimes

      public void setMaxFailedTimes(int maxFailedTimes)
      设置调度任务失败最大次数,超过该次数,自动终止任务。
      指定者:
      setMaxFailedTimes 在接口中 Scheduler
      参数:
      maxFailedTimes -
    • setOption

      public void setOption(Option option)
      从接口复制的说明: Scheduler
      设置调度时间设置选项
      指定者:
      setOption 在接口中 Scheduler
    • setScheduleEngine

      public void setScheduleEngine(ScheduleEngine scheduleEngine)
      从接口复制的说明: Scheduler
      设置调度存储引擎对象
      指定者:
      setScheduleEngine 在接口中 Scheduler
    • runTask

      protected abstract Object runTask() throws Exception
      运行任务,由子类执行。因为输入任务参数只有子类才知道。
      返回:
      抛出:
      Exception
    • onBeforeSchedule

      protected void onBeforeSchedule(Option.TimeObject to)
      每次执行调度之前,调用该方法。
      参数:
      to -
    • getArgumentManager

      public ArgumentsManager getArgumentManager()
      指定者:
      getArgumentManager 在接口中 Scheduler
    • setArgumentManager

      public void setArgumentManager(ArgumentsManager argumentManager)
      指定者:
      setArgumentManager 在接口中 Scheduler