2024-09-27 17:34:52 发布
网友
所以我有两个主要的工作进程,一个用来获取URL的内容,另一个用来获取URL的内容 将每个锚链接插入postgre表中。现在我在跑步 第一个进程的12个实例,所有这些实例都从一个URL队列获取它们的URL,然后将锚点放在第二个队列中,但是如何让另一组线程尝试将锚点推送到表中呢?当我启动线程时,发现它们的队列是空的,它们会死,如果我禁用这个特性,它们在工作完成时不会死,我该如何管理这一点,顺便问一下,使用进程而不是线程是否更好,因为可能涉及到密集的IO交互?
您需要两个队列URLFetchers将从一个队列弹出url并将其推送到另一个队列中,然后{}应该从第二个队列中弹出来处理数据。这个组织应该为你的问题提供一个很好的同步机制。在
URLFetchers
编辑:避免工人退出
你需要阻止直到有一个元素可用。在
while True: element = queue.get(block=True, timeout=None) #do worker's task
从python的queue.getdoc。。。在
queue.get
If optional args block is true and timeout is None (the default), block if necessary until an item is available.
您需要两个队列}应该从第二个队列中弹出来处理数据。这个组织应该为你的问题提供一个很好的同步机制。在
URLFetchers
将从一个队列弹出url并将其推送到另一个队列中,然后{编辑:避免工人退出
你需要阻止直到有一个元素可用。在
从python的
queue.get
doc。。。在相关问题 更多 >
编程相关推荐