使用芹菜根据资源安排任务

时间:2018-08-09 18:32:01

标签: python celery

我正在抓取一个网站,其中要遵循多个步骤

  1. 登录
  2. 废弃文件元数据
  3. 下载文件并上传到云

这些文件与某个组相关,我需要下载来自API的请求组的数据 对于每个组,我需要使用1个userId密码登录,并且我的数据库中保存了数量有限的userid密码

问题是站点仅允许单个登录会话,因此要处理许多组的负载,我需要排队API请求并在用户ID密码可用时进行处理,否则请等待用户ID释放。因此,我可以达到的最大并行度是我拥有的用户ID密码

我面临将队列安排到用户ID的问题。如何等待/检查userid是否空闲并阻止请求以进一步处理队列

我正在使用python和celery实现此功能。

我试图在单个任务下制作多个子任务(用于元数据,下载文档,上传到云),并以同步方式运行所有子任务。寻找更好的架构。

0 个答案:

没有答案