我正在使用 Python v 2.2.1 并尝试编写需要在 for 循环内并行执行某些任务的代码。迭代次数不固定,取决于列表(在本例中为 serverList
)。我怎样才能通过多线程或多处理来实现这一点。我通读了一些示例,但它们并行调用了不同的函数。在这里我需要调用相同的函数 (shutdownTask
),但参数不同。部分代码如下:
try:
<some code>
for server in serverList:
print ('Shutting down server: '+server+'...')
shutdownTask(server, serverType)
finally:
verifyStatus()
最佳答案
我推荐你Celery .您可以在后台为每台服务器启动一项任务。
要创建一个任务,您可以使用 @task
装饰器装饰您的函数。
要运行任务,您可以使用添加到修饰任务函数的 delay()
方法。
注意:不知道你真的使用非常老的Python 2.2.1版本会不会有兼容性问题
更新
如果您不需要这么复杂的解决方案,那么您可以使用 Thread
类。
关于python - 并行运行 for 循环中的所有迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31109926/