Cherrypy: многопроцессорная обработка
Я запускаю свой код Cherrypy как
python -u myApp.py
Работает нормально. Тем не менее, когда я делаю ps ax | grep myApp
Я могу увидеть 21 копию python -u myApp.py
Бег. Почему это и для чего это?
1 ответ
CherryPy использует несколько потоков для обработки соединений. Вы можете контролировать, сколько он использует, редактируя настройки ThreadPool.
Есть несколько подробностей о том, как рабочий поток работает в документах WSGI:
- Прослушивающий поток сервера выполняет очень узкий цикл, вставляя входящие соединения в очередь
- Рабочие потоки хранятся в пуле и опрашивают очередь, отбрасывая и обрабатывая каждое соединение.
- Каждое соединение может состоять из произвольного количества запросов и их ответов
Возможно, вы могли бы уменьшить количество потоков в пуле потоков, если вы действительно не хотите их использовать, но это может снизить производительность.