Python多线程/处理模块,用于具有需要排序的依赖项的任务

时间:2016-08-01 02:25:11

标签: python multithreading concurrency dependencies multiprocessing

我正在实现一个Python模块的过程,该模块提供了一个线程(或进程)池,它可以同时处理可能相互依赖的处理任务。例如,在订单管理系统的情况下,您可以下订单,下订单,取消第二个订单,下第三个订单,然后取消第一个订单 - 所有订单展示位置可以同时处理,但取消订单不能与各自的订单同时发生,必须在订单下达完成后进行。我已经为这样的问题提出了一个很好的通用解决方案,并希望将它作为我的第一个开源贡献。

在花费太多时间之前,我只是想知道这样的事情是否已经存在。有谁知道这样做的现有Python包?这会对任何人有用吗?

1 个答案:

答案 0 :(得分:1)

是的,请看。它具有用于多线程,多处理和分布式计算的不同调度程序,它们分别通过TaskPoolPool重用线程和进程。您可以使用它构建任何任务依赖项(直接非循环图 - DAG)。虽然,我不确定取消支持但你可以在你的任务中手动实现它。