我想用ViewFlow library实现以下用例:
由用户启动的特定流的进程在执行芹菜作业之前必须在队列中等待。每个用户都有这些进程的队列。根据计划或手动触发,允许队列中的下一个进程继续。在
流中的节点进入命名队列。对于每个队列,应用程序中的其他逻辑决定何时允许下一个任务继续。将选择队列中的下一个任务,并调用其激活的done()方法。在
示例流可能如下所示:
class MyFlow(Flow):
start = flow.Start(...).Next(queue_wait)
queue_wait = QueueWait("myQueue").Next(job)
job = celery.Job(...).Next(end)
end = flow.End()
实现排队的最佳方法是什么?在上面的例子中,我不知道“QueueWait”应该是什么。在
我已经通读了docs和viewflow代码,但是我还不清楚是否可以使用内置的节点和激活类来完成,比如函数函数,或者如果需要使用自定义类进行扩展。在
经过多次试验,我找到了一个可行且简单的解决方案:
我试图使其尽可能通用,并支持多个命名队列和子队列的定义,如按用户队列。在
相关问题 更多 >
编程相关推荐