Учитывая функцию create_vm, которая описана ниже, я пытаюсь создать n виртуальных машин (ВМ) параллельно.
Что я хочу сделать, это запустить n вызовов виртуальной машины по порядку, но хотите, чтобы виртуальные машины создавались параллельно; (i + 1) ^ -ый вызов создания виртуальной машины отправляется только после того, как будет отправлен i-й вызов создания виртуальной машины. Но процесс создания (i + 1) ^ -ой виртуальной машины не блокируется процессом создания i-й виртуальной машины.
Я решил использовать модуль многопроцессорной обработки и отправлять вызовы создания виртуальной машины в В порядке, я сначала создал процессы, используя понимание списка. Но довольно часто виртуальные машины создаются не в том порядке, в котором я даю им индексы, которые обозначаются переменной vm_index в приведенном ниже коде.
Как мне достичь вышеуказанной цели?
Спасибо!
# create_vm is a function to send Microsoft Azure virutal machine creation call
processes = [Process(target=create_vm, args=(vm_index,
resource_group_name,
vm_image,
vm_size,
vm_creation_time_dict))
for vm_index in range(Q)]
for p in processes:
p.start()
for p in processes:
p.join()