Как пул соединений базы данных работает с Celery (и Django) для типов соединений prefork и gevent?

У меня есть сервер django, а также фоновый рабочий celery, оба они взаимодействуют с базой данных Postgres.

У меня есть один рабочий celery, запускающий gevent с флагом 500 concurrency. Это дает 500 потоков под одним рабочим для запуска и выполнения задач. Мой вопрос в том, пытаются ли все эти потоки использовать одно и то же соединение с базой данных? Или он будет пытаться создать 500 соединений.

В пуле префорков создается ли соединение для каждого процесса?

Я видел в документации django (https://docs.djangoproject.com/en/4.1/ref/databases/#connection-management), что он разрешает постоянные соединения, поэтому соединения используются повторно, но я не уверен, как это переводится на celery?

Вернуться на верх