我正在尝试了解在Heroku托管的后端上Web-Dynos,Worker-Dynos和RabbitMQ之间发生的事情。
我注意到我有超过10个与RabbitMQ的连接,虽然到目前为止我使用的是一个Web-Dyno和一个Woker-Dyno。我正在使用greenthreads(eventlet),并期望每个Web或Worker-Dyno有一个连接。
这是我的工作人员从Procfile开始:
celery -E -A proj worker -B -l info --maxtasksperchild=1000
在我的情况下,我可以拥有超过10个开放连接:
这里也是我的队列列表(celery
似乎用于排队任务,不太确定其他两个是什么):
我尝试过使用BROKER_POOL_LIMIT
但似乎没有帮助。现在BROKER_POOL_LIMIT = 1
和连接数是10。
是否可以使用eventlet而不是通常的gunicorn-worker?