首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Celery Cloudamqp为每个任务创建新的连接

Celery Cloudamqp为每个任务创建新的连接
EN

Stack Overflow用户
提问于 2014-04-24 00:10:08
回答 1查看 473关注 0票数 4

我目前正在使用nitrous.io运行Django和芹菜,然后Cloudamqp作为我的代理与免费计划(最多3个连接)。我能够很好地进行连接,并且可以很好地启动定期任务。

当我跑的时候

代码语言:javascript
复制
    celery -A proj worker  -l info   

Cloudamqp上立即创建了两个连接,我可以在第三个连接上手动创建多个任务,一切都很好。然而,当我运行芹菜节拍与

代码语言:javascript
复制
    celery -A proj worker -B -l info

所有3个连接都被使用了,如果芹菜节拍创建了1个或更多新任务,则会创建另一个连接,从而超过允许的最大连接数。

我已经尝试过了,目前已经设置了

代码语言:javascript
复制
    BROKER_POOL_LIMIT = 1

但这似乎并没有限制我也尝试过的连接

代码语言:javascript
复制
    celery -A proj worker -B -l info
    celery -A proj worker -B -l info -c 1  
    celery -A proj worker -B -l info --autoscale=1,1  -c 1  

不走运。

为什么有两个立即建立的连接什么都不做?有没有办法将初始的芹菜连接限制为0或1,或者让任务在芹菜节拍连接上共享/运行?

EN

回答 1

Stack Overflow用户

发布于 2015-01-24 15:25:41

虽然它实际上并不限制连接,但另一个用户发现禁用连接池实际上减少了连接的数量:https://stackoverflow.com/a/23563018/1867779

BROKER_POOL_LIMIT = 0

Redis和Mongo后台有各自的连接限制参数。

  • http://docs.celeryproject.org/en/master/configuration.html#celery-redis-max-connections
  • http://docs.celeryproject.org/en/master/configuration.html#celery-mongodb-backend-settings (使用max_pool_size参数)

AMQP后端没有这样的设置。

  • http://docs.celeryproject.org/en/master/configuration.html#amqp-backend-settings

考虑到这一点,我不确定BROKER_POOL_LIMIT会做什么,但我真的很想看看CELERY_AMQP_MAX_CONNECTIONS

这里有一个相关的未回答的问题:How can I minimise connections with django-celery when using CloudAMQP through dotcloud?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23249850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档