Skip to content

configuration

jason edited this page Jan 2, 2019 · 1 revision

概述

由于官方文档较为缺乏,且不同文档间对一些对象和功能的描述不明确或含混,那么对本文中涉及的术语,均会在对应的章节前进行相关的约定与说明。

任务(Task)

与Schedule类型的策略进行关联的详细设置。
同一任务可与多个策略进行关联,逻辑里面可以用ownSign/参数进行区分。
任务设置的SpringBean也可在多个任务中关联同一Bean,同理,亦可使用参数、ownSign、任务项参数进行区分。

策略(Strategy)

实际的调度以策略为基本单位。

策略可以通过三种方式进行实际执行器的关联(三种类型,Schedule/Bean/Java)

Schedule

这个是最常用的类型,本类型将通过后边设置的“任务名称”一项来与任务列表中同样的名字做关联。

Java

“任务名称”中填写对应的Class名称。

Bean

“任务名称”中填写对应的Bean名称(id)。

机器(Factory)

机器是实际集成了框架的服务注册上来的处理器(Factory)列表,可以在控制台工具中手动禁用指定的处理器。

机器

任务

延时Delay

自定义参数Parameter

自定义参数在回调Select方法中会被传递,并且如果结合类似QLExpress的表达式库,可以实现类似

AREA=杭州,YEAR>30

这样的参数解析和定义

线程数

可以在select返回多个任务的时候,同jvm多线程地去处理

任务项TaskItem

任务项的完整定义格式如下:

0:{TYPE=A,KIND=1},1:{TYPE=A,KIND=2},2:{TYPE=A,KIND=3},3:{TYPE=A,KIND=4},4:{TYPE=A,KIND=5},
5:{TYPE=A,KIND=6},6:{TYPE=A,KIND=7},7:{TYPE=A,KIND=8},8:{TYPE=A,KIND=9},9:{TYPE=A,KIND=10}

大括号中间的内容为“任务项自定义参数”,会在Select回调中的TaskItemDefine对象中存储。
如果不需要任务项独特的自定义参数,可以用简单定义方式:

0,1,2,3,4,5,6,7,8,9

开始、结束时间permitRunStartTime/permitRunEndTime

Quatz格式,精确到秒,但有优化和新功能增加,主要是支持了“L”的支持。
如果设置了开始和结束时间,则只有在这个时间区间内才对任务做调度。
如果结束时间为空,则当select返回空数组的时候即停止调度。

ownSign

调度策略的创建时,在关联的任务名称后面可以额外加$符号指定ownSign

例:

demoTask$Online
demoTask$Develop

策略

名称

名称可以自定,唯一的要求就是可读性

类型

类型一般常用的是Schedule配合任务设置的方式。

任务参数

参数在策略为Schedule类型时,无效

并发控制

可在同一jvm内和全局做并发数量的控制

指定ip

可以指定单机器执行,逗号分隔,此功能暂未测试过。