在Django使用celerybeat的本地设置的正确方法是什么?

2024-04-28 23:00:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我用的是django 1.8.7,django芹菜3.1.17。 我想覆盖本地设置中的celery周期性任务,它包含在基本设置文件的末尾。在

本地设置文件中的此代码不起作用:

BROKER_URL = 'amqp://test:test@localhost/'
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"
CELERYBEAT_SCHEDULE = {
    "test_task": {
        "task": "test.ptask",
        "schedule": crontab(minute="*/5"),
        "options": {'queue': 'slow_tasks'}
    }
}

Tags: 文件django代码testlocalhosturlamqptask
2条回答

问题也出在CELERYBEAT_SCHEDULER=”djcelery.schedulers.DatabaseScheduler". 定期任务存储在数据库中,所以你只需要从管理面板中删除它们。在

当你直接叫芹菜时,它不会遵守djangosettings.py。而是打电话给

manage.py celery -A test worker -l warn -Q slow_tasks  concurrency=10

请注意,您应该将django celery添加到已安装的应用程序中。在

另请检查此页:http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#generic-initd-celerybeat-django-example

相关问题 更多 >