在Celery中为长时间运行的任务实现"空闲"和"正常"优先级队列

Mav*_*rik 8 django rabbitmq celery django-celery

我正在尝试使用Celery实现以下方案:两个(相同)长时间运行任务的队列,一个用于"正常",另一个用于"空闲"优先级.

我让工作人员监视两个队列并首先从"正常"优先级队列中获取任务,如果它是空的,它将从"空闲"优先级中获​​取任务.

我的问题是:是否有可能保证工人检查任务排队的顺序?此外,这是实施优先事项的正确方法吗?

背景:任务正在运行ffmpeg转码作业."正常"优先级将是新视频(必须尽快转码),"空闲"优先级将是将旧(40.000+视频)存档重新转码为更新格式设置的任务.我没有多个服务器可用于执行多服务器任务调度.

iEl*_*ric -1

文件:

还:

  • 这些都没有帮助。我已经知道 RabbitMQ 不支持优先级,这就是我正在制定解决方法的原因。 (3认同)