【问题标题】:Celery python synchronous tasks芹菜python同步任务
【发布时间】:2017-11-01 04:23:36
【问题描述】:

在我的应用程序中,我有连接到休息 API 的 python celery 任务.. 很简单。

我遇到的问题是 API 不允许使用相同的凭据进行多次重新搜索。

有没有办法让这些 api 任务阻塞在队列中?意思是,如果在同一时间发出多个请求,我可以让任务坐在队列中并一个接一个地执行,等待队列中的第一个完成吗?

目前,在 rabbitmq 消息队列中(有一个工作人员),我看到任务通过(生成)而不是等待。

我查看了文档,但找不到简单的解决方案。

谢谢。

【问题讨论】:

    标签: python celery celery-task


    【解决方案1】:

    只有一名工人,celery 不可能一次完成一项以上的任务。您可能看到的称为预取,它允许工作人员保留任务。

    http://docs.celeryproject.org/en/latest/userguide/optimizing.html#prefetch-limits

    默认预取值为 4,将其调低为 1,看看是否能解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-16
      • 2014-12-04
      • 2014-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 2014-04-16
      相关资源
      最近更新 更多