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

polkgigr  于 8个月前  发布在  Redis
关注(0)|答案(1)|浏览(71)

在我的Django应用程序中,我试图将Celery beat任务的优先级值设置为6,但下面的方法不起作用。设置此值的正确方法是什么?我在此配置中有其他任务,并希望设置不同的优先级值。

CELERYBEAT_SCHEDULE = {
  'some_task_name': {
    'task': 'app_name.tasks.some_task_name',
    'schedule': crontab(hour=18, minute=30),
    'options': {'priority': 6}
  }
}
gzszwxb4

gzszwxb41#

您的节拍时间表配置看起来是正确的,您需要确保在应用程序配置中也设置了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

相关问题