2024-04-18 15:51:53 发布
网友
我有一个任务队列,队列a和一个资源队列,队列B。在程序启动时,有有限数量的资源放在队列B中。如果任务能够从队列B中提取资源,它们就可以执行,一旦执行完毕,就必须将资源放回队列B中
使用芹菜,有没有一种方法可以从任务中的不同队列中提取来完成此任务?还是需要完全不同的架构?你知道吗
另一种方法是在将任务放入任务队列之前将其与资源配对,然后轮询任务是否完成,完成时释放该资源并将其与其他任务一起放回任务队列,尽管并发性可能会降低。这是标准溶液吗?你知道吗
我最终决定使用的体系结构是在芹菜中的chain原语的帮助下实现的,并发性没有损失。你知道吗
chain
为了确保没有两个任务同时使用同一资源,您可以在将任务添加到队列之前将所有任务划分为可用资源(假设您有10个任务和3个资源,只需将3个任务分配给其中两个资源,将4个任务分配给第三个资源)。然后,对于每个资源,用chain()调用任务,它告诉芹菜为该资源依次执行每个任务。你知道吗
chain()
我最终决定使用的体系结构是在芹菜中的
chain
原语的帮助下实现的,并发性没有损失。你知道吗为了确保没有两个任务同时使用同一资源,您可以在将任务添加到队列之前将所有任务划分为可用资源(假设您有10个任务和3个资源,只需将3个任务分配给其中两个资源,将4个任务分配给第三个资源)。然后,对于每个资源,用
chain()
调用任务,它告诉芹菜为该资源依次执行每个任务。你知道吗相关问题 更多 >
编程相关推荐