分布式调度框架Tbschedule结构分析【02】

分布式调度框架Tbschedule结构分析【02】

对应:

com.taobao.pamirs.schedule.taskmanager.ScheduleTaskType

1.任务名称baseTaskType:同 策略里面的任务名称

2. dealBeanName:处理任务的BeanName

3.heartBeatRate:心跳频率,向配置中心更新心跳信息的频率

4.judgeDeadInterval:判断一个服务器死亡的周期。为了安全,至少是心跳周期的两倍以上,会通过ZK的时间和本地的时间做对比

5.threadNumber:一个线程组的线程数量 ,此地和策略里面的线程组有关系,你可以理解为我们日常用的线程池中的线程的数量

6.processorType:调度器类型 默认值SLEEP; 具体执行的是:

com.taobao.pamirs.schedule.taskmanager.TBScheduleProcessorSleep 这个类

如果选择NOTSLEEP则具体执行:

com.taobao.pamirs.schedule.taskmanager.TBScheduleProcessorNotSleep

7.fetchDataNumber:每次获取数量 ;每次加载的数据量,这个得自己在

/**
 * 根据条件,查询当前调度服务器可处理的任务
 *
 * @param taskParameter 任务的自定义参数
 * @param ownSign 当前环境名称
 * @param taskItemNum 当前任务类型的任务队列数量
 * @param taskItemList 当前调度服务器,分配到的可处理队列
 * @param eachFetchDataNum 每次获取数据的数量
 */
List<T> selectTasks(String taskParameter, String ownSign, int taskItemNum, List<TaskItemDefine> taskItemList,
    int eachFetchDataNum) throws Exception;

这个里面做实现;

8.executeNumber:在批处理的时候,每次处理的数量;这个本人没有用过;目前用的都是implements IScheduleTaskDealSingle ,单任务执行的;

9.sleepTimeNoData:当没有数据的时候休息的时间长度

10.sleepTimeInterval:每次数据处理完毕后休眠的时间

11.permitRunStartTime开始执行时间

12.permitRunEndTime:允许执行的结束时间

13.maxTaskItemsOfOneThreadGroup 单线程组最大任务项 ;这个和线程池遇到的问题一样,如果排队过多会过多占用资源导致服务器崩溃。

14.  任务项(","分隔:  这个和切片有关,