I'm trying to understand what is happening between Web-Dynos, Worker-Dynos and RabbitMQ on my Heroku-hosted backend.
I notice that I have over 10 connections to RabbitMQ, although I so far I'm using one Web-Dyno and one Woker-Dyno. I am using greenthreads (eventlet) and expect to have one connection per Web- or Worker-Dyno.
This is my worker's start from Procfile:
celery -E -A proj worker -B -l info --maxtasksperchild=1000
In my case I can have over 10 open connections:
Here is also list of my queues (celery
seems to be used for queuing the tasks, not quite sure what the other two are for):
I've tried playing with BROKER_POOL_LIMIT
and it does not seem to help. Right now BROKER_POOL_LIMIT = 1
and the number of connections is 10.
Can it be caused by having eventlet instead of usual gunicorn-workers?