Многопроцессорная обработка и обновление очереди - PullRequest
0 голосов
/ 15 апреля 2020

Я использую 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

...