概要描述
本文主要描述 TDS 中配置自定义日历的方法。
详细说明
自定义日历的作用
默认情况下,任务流每天都允许被调度,但有时只想让任务流在特定日期触发调度(例如工作日),此时就需要用到自定义日历功能。
使用了日历的任务流,将在同时满足日历配置和调度周期配置时调度执行。例如日历中剔除法定节假日和周末,调度周期配置的是每天执行一次,那么会在工作日每天调度执行,非工作日不调度执行。
若要对任务流配置日历,请在任务流全局配置中选择启用并指定日历。
自定义日历的页面手动配置
在 TDS 页面的 调度-日历 界面,可以新建、编辑或删除日历。
如果想新建日历,点击右上方 新建 按钮,输入日历名称、描述,并在下方选择该日历的日期。
如果日历跨年,还可以使用新建年份来添加其他年份。
全部完成后点击保存即可。
对于现有日历,可以点击编辑按钮进行编辑,也可以进入上面的页面增删日期。
自定义日历通过元数据库配置
页面配置日历对于部分场景可能不够灵活,如果对 TDS 元数据库比较熟悉,可以考虑连接元数据库使用SQL方式来配置。
注意,务必谨慎操作元数据库!如果对星环元数据不熟悉,建议通过手动方式配置。
连接元数据库
可以参考TDS 元数据库访问方式访问TDS元数据库,并进入 Workflow 数据库:
use workflow_workflow1
以实际的workflow数据库名称为准。
建议通过页面创建日历
日历的创建建议还是通过页面操作,参考上面手动步骤创建好日历。
创建好日历后,可以在元数据库的WORKFLOW_CALENDAR_ENTITY
表查看到日历信息。
根据calenderName
识别日历,并记下其calenderId
备用。
通过元数据库增加、删除日历的日期
WORKFLOW_CALENDAR_SCHEDULE_DAY
表记录了日历中具体的日期。
两张表通过calenderId
关联。
可以通过操作这张表来增加和删除日历中的日期,例如添加10月1日:
注意事项
注意,无论是通过手动方式还是元数据方式操作日历,如果该日历有对应的任务流在使用,需要将这些任务流重新下线并发布才能应用最新的日历变更!