year_queue には約 15 年のリストがあり、毎年 1 つのプロセスを生成する必要があります。ただし、コードを実行しているサーバーによって、プロセッサの数は異なります。サーバー内のプロセッサの数に応じて変数 num_processes を動的に変更するにはどうすればよいですか?
num_processes > プロセッサ数を設定すると、それに応じて自動的に生成されますか? これをテストすると、15 個のプロセスが作成され、CPU パワーがそれらの間で分割されます。最初に「n」個のプロセスを作成する方法を探しています。ここで、n = サーバー内のプロセッサの数です。次に、これらの各プロセスが終了すると、次のプロセスが生成されます。
for i in range(num_processes):
worker = ForEachPerson(year_queue, result_queue, i, dict_of_files)
print "worker spawned for " + str(i)
worker.start()
results = []
while len(results) < len(years):
result = result_queue.get()
results.append(result)
誰も同じ問題を抱えていましたか?
while year_queue.empty() != True:
for i in range(num_processes):
worker = ForEachPerson(year_queue, result_queue, i, dict_of_files)
print "worker spawned for " + str(i)
worker.start()
# collect results off the queue
print "results being collected"
results = []
while len(results) < len(num_processes):
result = result_queue.get()
results.append(result)