我有一个带有队列声明的芹菜应用程序。
app.conf.CELERY_QUEUES = (
Queue('default', routing_key='default'),
Queue('classifier', routing_key='classifier'),
Queue('clients', routing_key='clients'),
Queue('bookings', routing_key='bookings'),
Queue('ingestor', routing_key='ingestor'),
Queue('typeahead', routing_key='typeahead')
)
我的DevOps团队最近设置了具有权限的RabbitMQ用户。
他们已经提到他们不打算给用户任何配置权限,因为如果黑客获得这些凭据,他们可以删除队列等。
当我启动芹菜工作者时,它无法授权
amqp.exceptions.AccessRefused:Exchange.declare:(403)ACCESS_REFUSED - 访问'vhost'/'交换'celeryev'拒绝用户'测试'
在测试时,我给了自己明确配置celery *。
这能够解决这个问题,但后来它开始抱怨已经存在的默认/分类器队列的相同问题,并且不需要配置,所以我有几个问题。
1)芹菜是否需要配置权限才能使用?
3)是否存在实际的安全问题,只需使用'。*'
启用此权限即可 4)有没有办法告诉芹菜只是读写?而不用担心配置任何东西?如果有任何想法,请告诉我。我一直在使用这个问题作为指导,但还没有想出来。
https://github.com/celery/celery/issues/3895
我正在使用Celery 3.1.24