即使队列/并发被占用,Celery也应在呼叫时执行任务

问题描述 投票:0回答:1
  • 我在Django中有一个celery应用程序,其中我以特定的间隔定义了所有定期执行的明智任务。

  • 我以5 concurrency开始了芹菜工作者的工作

celery -A appname worker --loglevel=info -B -c 5

  • 现在定义的每个任务都会定期执行,不会间隔时间,并且如果存在的活动任务超过5个,则会排队。

  • 现在,我想定义一个任务,以便它在每次调用时都应执行。无论排队还是任何事情。

send_task('task_name',[],get_task_kwargs)
  • [每当我调用send_task时,它都应立即执行,而不会在芹菜工作者的并发中排队。
celery django-celery celery-task celerybeat
1个回答
0
投票

无法保证调用任务时任务将运行。您能做的最好的就是将此特定任务分配给它自己的队列。这样,只要前面没有其他相同类型的任务,它将始终开始执行。

© www.soinside.com 2019 - 2024. All rights reserved.