概要描述
本文主要描述 TDS 中通过 API 更新调度日历方案参考。
本文中 TDS 版本为 4.0 。
详细说明
获取 token
可以参考TDS API 用户 token 获取方式获取用户 token 。
如上图,token 即为782bd465-fbd1-4d80-b971-158aa4254e03
。
连接元数据库
可以参考TDS 元数据库访问方式访问TDS元数据库,并进入 Workflow 数据库:
use workflow_workflow1
以实际的workflow数据库名称为准。
创建日历并查看日历ID
创建日历
如果日历尚未创建请参考本步骤创建,否则请跳过本步骤直接查看日历ID。
在 TDS 页面的 调度-日历 界面,可以新建、编辑或删除日历。
点击右上方 新建 按钮,输入日历名称、描述。
点击保存即可。
查看日历ID
可以在元数据库的WORKFLOW_CALENDAR_ENTITY
表查看到日历信息。
根据name字段定位到数据,记下其calendarId
,即为日历ID,此处为594cc9425c084b15a321b935f3f25a1a
。
通过 curl 命令调用更新日历接口
使用如下 curl 命令手动执行调度任务
curl -v -k -X POST -H "Authorization: Bearer {用户 Token}" -H "Accept:*/*" -H "Content-Type: application/json" -d "{\"calendarDateInfos\":[{\"scheduleYear\":2025,\"scheduleDates\":[\"2025-07-05\",\"2025-07-06\",\"2025-07-12\",\"2025-07-13\"]}],\"calendarDescription\":\"\",\"calendarName\":\"test123\",\"calendarId\":\"594cc9425c084b15a321b935f3f25a1a\"}" "http://{Workflow Server 所在节点的 IP}:{Workflow Server 端口号}/studio/api/workflow/v1/calendar/update"
其中,
用户 Token 为上面获取的 Token,Workflow Server 所在节点的 IP 为 Manager 页面进入 Workflow 服务找到 Workflow Server 角色后面的链接中的 IP ,Workflow Server 端口号为 Manager 页面进入 Workflow 服务找到 Workflow Server 角色后面的链接中的端口号。
-d中内容为json格式,是实际更新的日历信息,注意其中的引号在curl中使用需要加上反斜杠进行转义。
日历信息数据格式:
{
"calendarId": "",
"calendarName": "",
"calendarDescription": "",
"calendarDateInfos": [
{
"scheduleYear": 0,
"scheduleDates": [
""
]
}
],
"calendarUpdateDateTime": 0
}
参考数据demo:
{"calendarDateInfos":[{"scheduleYear":2025,"scheduleDates":["2025-07-05","2025-07-06","2025-07-12","2025-07-13"]}],"calendarDescription":"","calendarName":"11","calendarId":"3f3d5b9dd1a2459bb71b1baa7f0d98c8"}
若数据没有错误,执行后即可提示成功。
此时查看页面和后台,发现日历已经根据传入的数据更新好了。
注意事项
注意,无论是通过手动方式还是元数据方式或API操作日历,如果该日历有对应的任务流在使用,需要将这些任务流重新下线并发布才能应用最新的日历变更!