我如何以编程方式从芹菜队列中拉出一个项目



我有一个芹菜队列,我想基于某些触发器从队列中以编程方式拉下一个项目,等。

如果我的任务定义为

@task
def my_task():
    do_stuff()

,然后通过

将项放入队列
my_task.apply_async()

芹菜会尽可能快地浏览队列中的项目。但是我希望能够做的是:

my_task.process_next()

是否有任何方法来控制当芹菜从队列拉东西?

芹菜非常合理地假设,一旦有东西在队列中,您希望它尽快处理。有一个倒计时的论点,但我想那不是你想要的。

你可以尝试重写任务类,并在__call__方法中放入一些逻辑来检查你是否真的想处理任务,然后如果结果证明它没有准备好处理你的时间表,可能会安排它重试。

最新更新