尽可能多地运行程序实例

时间:2011-06-13 20:27:34

标签: python multithreading process multiple-instances

我正在尝试实现一些代码,以通过服务的API从另一个服务导入用户的数据。我要设置它的方式是所有请求作业都将保存在我的简单导入程序将从中抽取的队列中。一次处理一个任务不会接近最大化计算机的任何资源,所以我想知道构建程序一次运行多个“作业”的标准方法是什么?我是否应该研究线程或可能从队列中提取作业并启动导入程序实例的程序?谢谢你的帮助。

编辑:我现在所拥有的是Python,但如果需要,我可以用其他语言重写它。

1 个答案:

答案 0 :(得分:1)

使用Producer-Consumer queue,根据需要使用尽可能多的消费者线程来优化主机上的资源使用(抱歉 - 这是非常模糊的建议,但“正确的数字”依赖于问题)。

如果请求是轻量级的,那么您可能只需要一个Producer线程来处理它们。

启动多个流程也可以工作 - 最佳选择取决于您的要求。您是否需要制作人知道该操作是否有效,还是“即发即忘”?如果发生故障,您是否需要重试逻辑?如何在这个模型中保留并发消费者的数量?等等。

对于Python,请查看this