Celery:访问Broker连接池

wol*_*ude 5 connection-pooling amqp celery kombu

我正在使用带有AMQP代理的Celery来调用任务,但响应需要使用与Celery使用的队列架构不同的队列结构传回,所以我想仅使用Kombu传回消息.我已经能够做到这一点,但我每次都在创建一个新的连接.Celery是否使用代理连接池,如果是,您如何访问它?

wol*_*ude 12

这需要大量的搜索,因为Celery的文档很精彩 ......但我找到了答案.

Celery确实使用代理连接池来调用子任务.芹菜应用程序有一个pool属性,您可以通过<your_app>.pool或访问celery.current_app.pool.然后,您可以使用从池中获取连接pool.acquire().