在我的 Django 应用程序中,我尝试将 Celerybeat 任务的优先级值设置为 6,但下面的方法不起作用。设置这个值的正确方法是什么?我在此配置中还有其他任务,并且想要设置不同的优先级值。
CELERYBEAT_SCHEDULE = {
'some_task_name': {
'task': 'app_name.tasks.some_task_name',
'schedule': crontab(hour=18, minute=30),
'options': {'priority': 6}
}
}
您的节拍计划配置看起来正确,您确实需要确保在应用程序配置中设置
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