Как отловить ошибку в проекте Django на apache: 10048 «Адрес уже используется» - PullRequest
2 голосов
/ 10 сентября 2009

Python 2.5.2, Apache 2.2, Django 1.0.2 final

Мое приложение Django пытается подключиться к определенному порту. Когда этот порт занят, я получаю ошибку 10048 «Адрес уже используется» от Apache. Я знаю, откуда исходит ошибка. Как я могу поймать эту ошибку apache?

Подробнее:

error at /report/5/2009/08/01/

(10048, 'Address already in use')

Request Method:     GET
Request URL:    http://192.168.0.21/report/5/2009/08/01/
Exception Type:     error
Exception Value:    

(10048, 'Address already in use')

Exception Location:     C:\Python25\Lib\httplib.py in connect, line 683
Python Executable:  C:\Program Files\Apache Software Foundation\Apache2.2\bin\httpd.exe
Python Version:     2.5.2
Python Path:    ['D:\\django\\system', 'C:\\Python25\\lib\\site-packages\\setuptools-0.6c9-py2.5.egg', 'C:\\Python25\\lib\\site-packages\\python_memcached-1.44-py2.5.egg', 'C:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs', 'c:\\mapnik_0_6_0\\site-packages', 'C:\\Program Files\\Apache Software Foundation\\Apache2.2', 'C:\\WINDOWS\\system32\\python25.zip', 'C:\\Python25\\Lib', 'C:\\Python25\\DLLs', 'C:\\Python25\\Lib\\lib-tk', 'C:\\Program Files\\Apache Software Foundation\\Apache2.2\\bin', 'C:\\Python25', 'C:\\Python25\\lib\\site-packages', 'C:\\Python25\\lib\\site-packages\\PIL', 'C:\\Program Files\\GeoDjango\\Django-1.0.2-final']

Время сервера: don, 10 Sep 2009 11:20:45 + 0200

1 Ответ

1 голос
/ 10 сентября 2009

Если вы звоните httplib.connect прямо из вашего кода, тогда try / except должно быть рядом с этим прямым вызовом. Или звонок происходит косвенно ...? К сожалению, Apache не дает вам трассировку стека, поэтому, если у вас возникают проблемы с определением последовательности вызовов, вы можете сделать широкую попытку /, за исключением самого высокого уровня, доступного вам, и сохранить распечатку трассировки, чтобы вы могли определить сайт вызова (или отредактируйте свой вопрос, чтобы показать трассировку, и мы можем помочь вам найти его). См. Модуль traceback в стандартной библиотеке Python для получения дополнительной информации о том, как отформатировать трассировку в предложении except.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...