celery task_routes为什么不是定义echange?
我是用的是celery4.3.0,根据官方文档,
from kombu import Exchange, Queue
app.conf.task_queues = (
Queue('default', Exchange('default'), routing_key='default'),
Queue('videos', Exchange('media'), routing_key='media.video'),
Queue('images', Exchange('media'), routing_key='media.image'),
)
app.conf.task_default_queue = 'default'
app.conf.task_default_exchange_type = 'direct'
app.conf.task_default_routing_key = 'default'
按我的理解,上面是将queues与exchange绑定。下面是为任务指定路由,根据amqp协议,下面不是应该指定exchange吗?为什么是指定queue,既然直接指定了queue,那还要exchange干什么?
task_routes = {
'myapp.tasks.compress_video': {
'queue': 'video', ***#这里为什么要指定queue?***
'routing_key': 'video.compress',
},
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您好,我也有同样的疑问,请问您最后找到答案了吗?