Pyt*_*ast 2 python multiprocessing
我正在创建一个多进程,它创建一个csv文件.当我运行代码时d.daemon = False它工作正常,即它在同一文件夹中创建一个文件.但是在编译和运行时d.daemon = True,它不会,即不会创建文件.为什么会这样?
我有一个URL的种子列表,我需要从中删除数据.
for url in config.SEED_LIST:
# starting a new process for each category.
d = multiprocessing.Process(target=workers.scrap, args=())
d.daemon = True
d.start()
def scrap():
import time
time.sleep(5)
# The above part of code takes some time to scrap a webpage, applying
# some logic, which takes some time to execute, hence I've added a time
# sleep of 5 secs. But when run with daemon = True, the file is not
# created. Else it works fine.
data = [[1, 2, 3, 4], [2224, 34, 34, 34, 34]]
with open('1.csv', "wb") as f:
writer = csv.writer(f)
writer.writerows(data)
Run Code Online (Sandbox Code Playgroud)
d.daemon = True表示子进程在父进程结束后自动终止,防止孤儿进程。join()只需添加d.join()after即可帮助d.start()父进程不会在子进程之前结束;相反,父进程将等待子进程结束。
| 归档时间: |
|
| 查看次数: |
20067 次 |
| 最近记录: |