Я использую python для многопроцессорной обработки для выполнения ряда задач. Однако между моментом, когда скрипт запускает задачу, и временем, когда она завершена, может потребоваться запуск дополнительной задачи.
Другими словами, я хотел бы найти способ обновить свою очередь задачи, пока задача выполняется.
Пока что у меня есть что-то вроде этого:
**python**
def main(list_of_task):
number_of_processes = cpu_count()
q = Queue()
task = []
for filename in list_of_task:
q.put(filename)
# creating processes
for w in range(number_of_processes):
p = Process(target=do_job, args=(q,))
task.append(p)
p.start()
# completing process
for p in processes:
p.join()
if __name__ == '__main__':
# Getting the list of task from a text file
file_list_of_task = open("list_of_task.txt")
list_of_task = []
for line in file_list_of_task :
list_of_task.append(line)
# Running the main script
main(list_of_task)
После этого я бы хотел обновить свою очередь до того, как закончится операция для l oop. Файл "list_of_task.txt" обновляется автоматически и поэтому.
Есть ли способ сделать это аккуратно?
спасибо
E