Go语言 如何在temporal中调度多个cron工作流?

xvw2m8pv  于 2023-06-19  发布在  Go
关注(0)|答案(1)|浏览(363)

考虑一个字符串数组作为输入,我的目标是为每个字符串安排cron作业。我尝试过为每次输入迭代创建自定义工作流选项并执行相同的操作。在此之后,只有第一个cron工作流被调度,而其他cron作业则无限期地等待。

for ind , sid := range ss_ids {
        var cronScheduleStr string
        if ind == 0 {
            cronScheduleStr = "* * * * *"
        }
        if ind == 1 {
            cronScheduleStr = "2 * * * *"
        }
        workflowID := "cron_" + sid
        workflowOptions := client.StartWorkflowOptions{
            ID:           workflowID,
            TaskQueue:    "cron",
            CronSchedule: cronScheduleStr,
        }

        we, err := c.ExecuteWorkflow(context.Background(), workflowOptions, cron.SampleCronWorkflow,sid)
        if err != nil {
            log.Fatalln("Unable to execute workflow", err)
        }
        log.Println("Started workflow", "WorkflowID", we.GetID(), "RunID", we.GetRunID())
    }

除此之外,我尝试了以相同的方式子工作流,但也只安排了第一个cron子工作流。如果有人能帮忙的话,那就太好了。

8xiog9wr

8xiog9wr1#

如果ss_ids是唯一的,第一个应该每分钟运行一次,第二个应该在每小时的第二分钟运行一次,其余的将有CronSchedule: ''

相关问题