Argo Workflows是否存在获取上一次/下一次调度时间的内置变量?
Argo Workflows 调度时间获取说明
目前Argo Workflows原生没有内置与上一次调度时间、下一次调度时间对应的全局变量,也没有提供类似Airflow宏的原生能力直接获取这两个值。
无需业务步骤手动计算的可行实现方案:
- 基于CronWorkflow的持久化存储方案
如果你用官方CronWorkflow做周期调度,可以新增一个前置初始化步骤,无需修改业务步骤逻辑:每次Workflow调度完成后将workflow.scheduledTime写入自定义ConfigMap或其他持久化组件,下一次调度时的初始化步骤直接读取该值作为上一次调度时间,同时根据你的Cron表达式直接计算出下一次调度时间,将两个值通过环境变量或输出参数传递给后续业务步骤使用。 - 调度侧预计算注入方案
如果你是用自研调度系统触发Argo Workflow,可在调度侧提前计算好上一次、下一次调度时间,在提交Workflow请求时作为自定义参数传入,后续所有步骤直接通过workflow.parameters.lastScheduleTime、workflow.parameters.nextScheduleTime的方式调用即可,全程不需要Workflow内部做额外计算。
注:当前Argo Workflows最新稳定版仍未支持该能力的原生实现,如有强需求可向官方仓库提交功能需求申请。
内容的提问来源于stack exchange,提问作者Gabio
相关产品推荐
相关产品推荐

