6
有什么方法可以暂停/恢复使用芹菜3.0链创建的正在运行的工作流吗?Django芹菜工作流暂停/恢复
基本上,我们的系统中有两种不同类型的任务:交互式和非交互式。非交互式的我们有所有的参数,但交互式的需要用户输入。请注意,对于交互式任务,一旦链中所有先前的完成都已完成,我们只能请求用户输入,因为它们的结果将影响交互式任务(即,在创建实际链之前我们无法要求用户输入)。
任何有关如何解决这个问题的建议?真叫这里..
当前的想法:
- 创建任务的两个子类(芹菜进口任务)。向Interactive Task子类添加一个额外的实例(类成员)变量,默认情况下该变量设置为false,并表示仍需要某些用户输入。以某种方式可以访问Task的实例,并从芹菜工作者的外部将其设置为true(尽管我已经查看了相当多的东西,似乎无法直接从另一个模块访问Task对象)
- 将链分割成由交互作业分隔的多个链。一旦链条到达终点并在触发交互式任务的交互式客户端组件时,在芹菜工作者之外有某种机制进行检测。一旦用户输入了所有这些数据,就可以获取数据,并开始交互式任务位于新链的开头的新链。