多处理和更新队列

时间:2020-04-15 08:36:04

标签: python queue python-multiprocessing

我正在使用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)

由此,我想在for循环完成之前更新队列。因此,文件“ list_of_task.txt”将自动更新。

有什么办法可以做到这一点?

谢谢

E

0 个答案:

没有答案