创建包含任务的芹菜管道,这些任务仅在上一个任务中的某些项目被堆叠时运行

2024-04-26 00:26:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为我的应用程序创建某种管道。我有一个问题-应用程序的主要目标是读取视频,拍摄视频的第N个镜头,并将其放入管道中。管道内部有5个不同的任务,例如:

1. Crop image
2. Store image in the array. if array length = IMAGES_NEEDED_FOR_TASK3, launch task 3
3. Apply some transforms to image, make one big image from IMAGES_NEEDED_FOR_TASK3,.
4. Stack transformed images in the array. if array length = IMAGES_NEEDED_FOR_TASK5, launch task 5
5. Write info about income images from task 4 to database

我很难实现任务2和任务4,因为它们有条件。如果他们没有条件,我就用链式方法。我想从任务2调用任务3(我想为每个任务创建一个不同的队列),但我读到这被认为是不好的做法。先谢谢你


Tags: theinimage应用程序fortask视频if
1条回答
网友
1楼 · 发布于 2024-04-26 00:26:18

很难用芹菜工作流来表达这一点(如果这正是您正在努力解决的问题),因此我建议您编写任务4,以便在堆栈中有图像需要时将任务5排队(只需调用应用程序发送任务()或应用程序异步()). 你知道吗

任务2也是如此。只要您不需要处理任务3和5的结果,您就可以了,在这种情况下,逻辑会变得更加复杂。如果芹菜有一个原始的,可以使它更容易表达这样的情况,这将是非常好的。你知道吗

如果您仍然坚持使用芹菜工作流,那么您也许应该重新考虑逻辑,并利用Chunk primitive。在这种情况下,您的任务#2将add.chunks()。任务5也是如此。你知道吗

相关问题 更多 >