Я запускаю Apache 2.2 с mod_wsgi, Python 2.7 и mpm_worker. Иногда один из рабочих процессы застревает, и все его потоки останавливаются в состоянии записи (как показано на скриншоте ниже).
Это происходит ~ один раз в день для одного рабочего процесса.
Я полагаю, это либо потому, что
Некоторая внутренняя проблема в Apache
Все мои потоки Python внутри рабочего процесса mod_wsgi каким-то образом блокируются
Пока что единственное средство, которое я нашел, - это полный перезапуск Apache (не изящный).
Я надеюсь найти несколько указателей, как диагностировать проблему, которая ее вызывает.
Почему Apace Timeout
не убивает рабочие потоки / процессы. Время timeout
составляет одну минуту, но похоже, что эти потоки и рабочие успешно работали над одним запросом несколько часов.
Можно ли получить сброс резьбы изнутри mod_wsgi
и посмотрите, не заблокированы ли сами потоки Python
Есть идеи, что могло быть причиной этого и как исправить ситуацию?
Ниже приведен снимок экрана, показывающий Apache server-status
где один из рабочих процессов (1-0) завис.
После включения WSGIDaemonProcess
и переключаясь на отдельные процессы демона, эта проблема больше не появлялась, как рекомендовано в связанном вопросе.