Назад | Перейти на главную страницу

Ошибка Django WSGI при импорте модуля setproctitle

Я хочу использовать Python setproctitle модуль для обновления имени процесса рабочего процесса WSGI python, когда он начинает работать над запросом. (Это делается для того, чтобы попытаться отследить, какие URL-адреса используют весь ЦП). Я написал простой класс промежуточного программного обеспечения Django, который будет вызывать setproctitle.setproctitle(request.path). Это отлично работает на сервере отладки django (т.е. python manage.py runserver), т.е. я вижу URL-адрес запроса в выводе top.

Однако, когда я пытаюсь запустить тот же код с помощью apache и mod_wsgi, происходит ошибка segfactory процесса wsgi при загрузке файла python промежуточного программного обеспечения. Ошибка в import setproctitle линия. (операторы печати перед этой строкой выполняются, но не после).

Можно ли заставить setproctitle работать с wsgi?

Сервер - Ubuntu Linux, использующий apache, mod_wsgi и django.

Используйте gdb, чтобы выяснить, почему он вылетает. Видеть:

http://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Debugging_Crashes_With_GDB

Если это не поможет вам решить проблему самостоятельно, предложите вам опубликовать все подробности в списке рассылки mod_wsgi, так как этот сайт плохо работает, когда требуется итеративная отладка проблемы.

Также попробуйте принудительно использовать основной интерпретатор Python, используя:

WSGIApplicationGroup %{GLOBAL}

Может случиться так, что модуль setproctitle не работает должным образом в суб-интерпретаторах, хотя я не понимаю, почему это не так, поскольку он должен быть просто оболочкой для одной функции и должен быть довольно простым.