我有一个芹菜队列,我想基于某些触发器从队列中以编程方式拉下一个项目,等。
如果我的任务定义为
@task
def my_task():
do_stuff()
,然后通过
将项放入队列my_task.apply_async()
芹菜会尽可能快地浏览队列中的项目。但是我希望能够做的是:
my_task.process_next()
是否有任何方法来控制当芹菜从队列拉东西?
芹菜非常合理地假设,一旦有东西在队列中,您希望它尽快处理。有一个倒计时的论点,但我想那不是你想要的。
你可以尝试重写任务类,并在__call__
方法中放入一些逻辑来检查你是否真的想处理任务,然后如果结果证明它没有准备好处理你的时间表,可能会安排它重试。