Python 运行尽可能多的程序实例

Python 运行尽可能多的程序实例,python,multithreading,process,multiple-instances,Python,Multithreading,Process,Multiple Instances,我试图实现一些代码,通过服务的API从另一个服务导入用户数据。我将设置它的方式是,所有请求作业将保留在一个队列中,我的简单导入程序将从该队列中提取。一次处理一个任务几乎不会耗尽计算机的任何资源,所以我想知道构造一个同时运行多个“作业”的程序的标准方法是什么?我应该研究线程还是可能的从队列中提取作业并启动导入程序实例的程序?谢谢你的帮助 编辑:我现在用的是Python,不过如果需要的话,我愿意用另一种语言重写它。使用一个,使用尽可能多的用户线程来优化主机上的资源使用情况(对不起,这是一个非常模糊的

我试图实现一些代码,通过服务的API从另一个服务导入用户数据。我将设置它的方式是,所有请求作业将保留在一个队列中,我的简单导入程序将从该队列中提取。一次处理一个任务几乎不会耗尽计算机的任何资源,所以我想知道构造一个同时运行多个“作业”的程序的标准方法是什么?我应该研究线程还是可能的从队列中提取作业并启动导入程序实例的程序?谢谢你的帮助

编辑:我现在用的是Python,不过如果需要的话,我愿意用另一种语言重写它。

使用一个,使用尽可能多的用户线程来优化主机上的资源使用情况(对不起,这是一个非常模糊的建议,但“正确的数字”取决于问题)

如果请求是轻量级的,您可能只需要一个生产者线程来处理它们

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


对于Python,请看一看。

我现在拥有的是Python,但如果它有什么不同,我愿意将其转移到其他方面。瓶颈是什么?这真的是CPU受限的问题吗?谢谢Steve的回复。不用担心,我并没有期望线程的确切数量等。我正在做的是一个web服务,所以我的计划是让我的服务将作业添加到Amazon的SQS(简单排队服务)中。然后,我会让导入程序在从SQS提取的服务器上运行。我确实需要确保这些工作成功。那么,你是否认为我应该运行一个程序实例,让它从队列中轮询作业,然后只为每个作业启动一个威胁,使其达到一定数量的线程?如果你需要严格控制使用者,我认为线程将比单独的进程更容易。实际上,这毕竟只是两种线程类型。这是相对简单的处理。Java和C#都有内置队列,可以用来连接生产者和消费者。