同じPythonプログラムを並列実行するにはどうすればよいですか(唯一の違いは時間差を表す2つの入力引数です)いくつかのデータ処理にはそれが必要です。それ以外の場合は終了までに時間がかかります異なる引数を指定して同じPythonプログラムを並列に実行する
私は10個のスクリプトを1つずつ手動で起動することで手動で行うことができますが、ソリューション+私はまた、 "メイン"のPythonプログラムでこれらのプログラムのそれぞれの引数を動的に定義したいと思います。
これを行う方法はありますか?
同じPythonプログラムを並列実行するにはどうすればよいですか(唯一の違いは時間差を表す2つの入力引数です)いくつかのデータ処理にはそれが必要です。それ以外の場合は終了までに時間がかかります異なる引数を指定して同じPythonプログラムを並列に実行する
私は10個のスクリプトを1つずつ手動で起動することで手動で行うことができますが、ソリューション+私はまた、 "メイン"のPythonプログラムでこれらのプログラムのそれぞれの引数を動的に定義したいと思います。
これを行う方法はありますか?
そうのように、メインの方法でスクリプトを囲みます。
def main(args):
a, b = args
# do something
if __name__ == '__main__':
args = parse_arguments()
main(args)
その後、あなたは異なる引数でmainメソッドを実行するために、multiprocessing.Pool
と一緒に2番目のスクリプトを使用することができます。
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。それは約150,000サイクルのループの各サイクルで実行される複数のselect文とinsert文をデータベースから持ちます。 – Dennis
@Merlinすべての選択は表Aから起こり、すべての挿入は表Bにあります。 – Dennis
@ DennisはSQLでコードを書くことができます。アウトオブプロセスのデータベースへの移動はありません。 – Merlin