我对如何配置Django+芹菜有点困惑。 我遵循了this guide中的报道。 这里是我要写的一堆配置:
BROKER_URL = 'amqp://...'
queue_arguments = {'x-max-length': 1}
CELERY_QUEUES = (
Queue('queue1', routing_key='queue1', queue_arguments=queue_arguments),
Queue('queue2', routing_key='queue2', queue_arguments=queue_arguments))
from datetime import timedelta
CELERYBEAT_SCHEDULE = {
'task1': {
'task': 'MyProject.tasks.this_is_task_1',
'schedule': timedelta(seconds=1)
},
'task2': {
'task': 'MyProject.tasks.this_is_task_2',
'schedule': timedelta(seconds=1)
}
}
CELERY_ROUTES = {
'MyProject.tasks.this_is_task_1': {
'queue': 'queue1',
'routing_key': 'queue1',
},
'MyProject.tasks.this_is_task_2': {
'queue': 'queue2',
'routing_key': 'queue2',
}
}
app = Celery('MyProject')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'MyProject.settings')
app = Celery('MyProject')
app.conf.update(
CELERY_TASK_RESULT_EXPIRES=30,
CELERY_IGNORE_RESULT=True,
)
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
基于1,我应该把:
如果我这样做,我会收到以下信息:
^{pr2}$它的行为就像队列已经创建一样,但是没有任何选项。在
如果我在settings.py
中只保留CELERYBEAT_时间表和芹菜路线,一切似乎都在工作。事实上,队列配置被忽略,即不使用celeri_queue配置。在
谢谢
我解决了问题。 这个问题是因为我已经创建了队列,这是不受限制的。 通过删除它们并重新启动,所有操作都非常完美: 1所有的配置设置.py 2所有的芹菜创造芹菜.py在
相关问题 更多 >
编程相关推荐