有限线程在Python中进行异步,多线程抓取

提摩太

我们必须重构抓取算法。为了加快速度,我们得出了多线程进程的结论(并将其限制为最多3个)。一般来说,报废包括以下几个方面:

  1. 报废(异步请求,大约需要2秒)
  2. 图像处理(每幅图像异步,每幅图像约500ms)
  3. 更改数据库中的源项目(异步请求,大约2秒)

我的目标是创建一批剪贴请求,并在循环处理它们的同时,创建一堆后续的异步操作:处理图像并在图像处理后立即处理->更改源项目。

换句话说-报废。但是图像处理和更改源项目必须在单独的受限异步线程中运行。

只认为我不知道如何堆叠批处理和限制线程。

有没有人遇到过相同的任务,您使用了哪种方法?

您正在寻找的是消费者-生产者模式。只需创建3个不同的队列,当您在其中一个队列中处理项目时,将新工作放入另一个队列。然后,您可以使用3个不同的线程,每个线程处理一个队列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章