gpt4 book ai didi

Python-多处理守护进程

转载 作者:行者123 更新时间:2023-11-28 19:43:48 24 4
gpt4 key购买 nike

我正在创建一个多进程,它会创建一个 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.scrape, args=())
d.daemon = True
d.start()


def scrape():
import time
time.sleep(5)
# The above part of code takes some time to scrape 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)

最佳答案

根据 multiprocess daemon documentation通过设置 d.daemon=True 当你的脚本结束时它的工作将杀死所有子进程。这发生在他们可以开始写入之前,因此不会产生任何输出。

关于Python-多处理守护进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27494725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com