如何才能并行执行相同的Python程序(我在考虑x10),唯一的区别是两个输入参数表示时间范围?我需要它来进行一些数据处理,否则将需要很长的时间才能完成并行执行具有不同参数的相同Python程序
我知道我可以通过在shell中手动启动10个脚本来逐个完成它,但它似乎并不是最“优雅”解决方案+我也很想在“主”python程序中动态地为每个程序定义参数。
有没有办法做到这一点?
如何才能并行执行相同的Python程序(我在考虑x10),唯一的区别是两个输入参数表示时间范围?我需要它来进行一些数据处理,否则将需要很长的时间才能完成并行执行具有不同参数的相同Python程序
我知道我可以通过在shell中手动启动10个脚本来逐个完成它,但它似乎并不是最“优雅”解决方案+我也很想在“主”python程序中动态地为每个程序定义参数。
有没有办法做到这一点?
附上你的脚本在main方法,就像这样:
def main(args):
a, b = args
# do something
if __name__ == '__main__':
args = parse_arguments()
main(args)
然后你就可以一起使用第二个脚本multiprocessing.Pool
,运行使用不同的参数的主要方法。
from myscript import main
from multiprocessing import Pool
a = [1, 2, 3, 4, 5]
b = [6, 7, 8, 9, 10]
if __name__ == '__main__':
pool = Pool(4) # four parallel jobs
results = pool.map(main, zip(a, b))
@ Merlin IO。它具有多个从/到数据库中的选择和插入语句,这些语句在大约1 500 000个循环的每个循环中执行 – Dennis
@Merlin从表A中发生所有选择,并且所有插入都在表B中。 – Dennis
。@ Dennis可以用SQL编写代码。不要走出进程到数据库。 – Merlin