我是 uber Cadence 的新手,正在尝试编写一个 cron 计划任务。Cadence 提供了一个 cronSchedule 注释(在线查找示例),它采用一个 cron 表达式字符串,用于在特定时间触发的方法。但是,我希望根据我们在 yml 文件中设置的内容来加载这个 cron 表达式。有什么办法吗?我目前只找到了这种@cronSchedule 注释方式来做到这一点。我还发现有一个 WorkflowOption 可以设置 cronSchedule。但是,不知道如何使用它来触发该方法。以下是当前代码。
public interface CronTask {
@WorkflowMethod(
workflowId = CRON_WORKFLOW_ID,
taskList = TASK_LIST,
executionStartToCloseTimeoutSeconds = 30,
workflowIdReusePolicy = WorkflowIdReusePolicy.TerminateIfRunning
)
@CronSchedule("*/1 * * * *")
void kickOff(String name);
}
如果没有办法做到这一点。有谁知道我们是否可以简单地@CronSchedule
用 spring 替换这个注释@Scheduled
?注释WorkflowMethod
是否仍能按预期工作?