如何在 CELERYBEAT_SCHEDULE 配置中设置优先级?

问题描述 投票:0回答:1

在我的 Django 应用程序中,我尝试将 Celerybeat 任务的优先级值设置为 6,但下面的方法不起作用。设置这个值的正确方法是什么?我在此配置中还有其他任务,并且想要设置不同的优先级值。

CELERYBEAT_SCHEDULE = {
  'some_task_name': {
    'task': 'app_name.tasks.some_task_name',
    'schedule': crontab(hour=18, minute=30),
    'options': {'priority': 6}
  }
}
python django redis celery celerybeat
1个回答
0
投票

您的节拍计划配置看起来正确,您确实需要确保在应用程序配置中设置

queue_order_strategy

app = Celery(
    'tasks',
    broker=f'redis://...',
)

app.conf.broker_transport_options = {'queue_order_strategy': 'priority'}
app.conf.task_default_priority = 1

app.conf.beat_schedule = CELERYBEAT_SCHEDULE
© www.soinside.com 2019 - 2024. All rights reserved.