我正在尝试为我的应用程序创建某种管道。我有一个问题-应用程序的主要目标是读取视频,拍摄视频的第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(我想为每个任务创建一个不同的队列),但我读到这被认为是不好的做法。先谢谢你
很难用芹菜工作流来表达这一点(如果这正是您正在努力解决的问题),因此我建议您编写任务4,以便在堆栈中有图像需要时将任务5排队(只需调用应用程序发送任务()或应用程序异步()). 你知道吗
任务2也是如此。只要您不需要处理任务3和5的结果,您就可以了,在这种情况下,逻辑会变得更加复杂。如果芹菜有一个原始的,可以使它更容易表达这样的情况,这将是非常好的。你知道吗
如果您仍然坚持使用芹菜工作流,那么您也许应该重新考虑逻辑,并利用Chunk primitive。在这种情况下,您的任务#2将
add.chunks()
。任务5也是如此。你知道吗相关问题 更多 >
编程相关推荐