Him*_*ack 8 rabbitmq celery django-celery
我用RabbitMQ安装了Celery.问题是,对于返回的每个结果,Celery将在Rabbit中创建,在交换celeryresults中使用任务的ID进行排队.
我仍然希望得到结果,但是在一个队列上.
我的celeryconfig:
from datetime import timedelta
OKER_URL = 'amqp://'
CELERY_RESULT_BACKEND = 'amqp'
#CELERY_IGNORE_RESULT = True
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_ACCEPT_CONTENT=['json', 'application/json']
CELERY_TIMEZONE = 'Europe/Oslo'
CELERY_ENABLE_UTC = True
from celery.schedules import crontab
CELERYBEAT_SCHEDULE = {
'every-minute': {
'task': 'tasks.remote',
'schedule': timedelta(seconds=30),
'args': (),
},
}
Run Code Online (Sandbox Code Playgroud)
那可能吗?怎么样?
谢谢!
amqp后端为每个任务创建一个新队列.或者,有一个新的rpc后端,它将结果保存在一个队列中.
http://docs.celeryproject.org/en/master/whatsnew-3.1.html#new-rpc-result-backend
没什么不寻常的.
这就是当我们使用amqp作为结果后端时celery的工作方式.它将为与工作者消耗的每个任务相对应的每个结果创建一个新的临时队列.
如果您对结果不感兴趣,可以尝试CELERY_IGNORE_RESULT = True设置
如果你确实想存储结果,那么我建议使用像Redis这样的不同结果后端.
| 归档时间: |
|
| 查看次数: |
2877 次 |
| 最近记录: |