У меня есть список около 15 лет в year_queue, мне нужно порождать один процесс для каждого года. Но в зависимости от того, на каком сервере я запускаю код, количество процессоров может быть разным. Как динамически изменять переменную num_processes в зависимости от количества процессоров на сервере?
Если я установлю num_processes> число процессоров, будет ли он автоматически появляться соответственно? Когда я проверяю это - он создает 15 процессов и распределяет мощность процессора между ними. Я ищу способ сначала создать '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)