我目前正在使用 nitrous.io 运行带有 Celery 的 Django,然后使用 Cloudamqp 作为我的免费计划代理(最多 3 个连接)。我能够很好地连接并很好地启动定期任务。
当我跑
celery -A proj worker -l info
在 Cloudamqp 上立即创建了 2 个连接,我能够在第 3 个连接上手动创建多个任务,一切都很好。但是,当我运行 celery beat 时
celery -A proj worker -B -l info
使用所有 3 个连接,如果 celery beat 创建 1 个或多个新任务,则将创建另一个第 4 个连接,从而超出允许的最大连接数。
我已经尝试过,目前已经设置
BROKER_POOL_LIMIT = 1
但这似乎并没有限制我也尝试过的连接
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
没有运气。
为什么立即建立了 2 个什么都不做的连接?是否以某种方式将初始 celery 连接限制为 0 或 1,或者让任务在 celery beat 连接上共享/运行?