Я запускаю приложение django на скрученном с использованием скриптов django-on-twisted от this site.Скрученный сервер неожиданно падает при запуске django
Все запросы обслуживаются сервером nginx, который обращается с соответствующими запросами на скрученные запросы. У меня есть установка url для API, которая в основном просто получает запросы на получение и выполняет некоторую обработку параметров get перед отправкой ответа. Однако, когда конкретный клиент нажимает api, скрученный сервер просто выключается. Pasted ниже журнал Nginx:
the.ip.of.client - - [21/Apr/2012:11:30:36 -0400] "GET /api/url/?get=params&more=params HTTP/1.1" 499 0 "-" "Java/1.6.0_24"
Витые журналы ничего не показывает, но скрученные перестает работать в этой точке. По коду ошибки 499, я предполагаю, что клиент неожиданно закрыл соединение, с которым у меня нет проблем. Получает ли клиент ответ или нет, для меня это не важно. Вот соответствующий вид Джанго:
def api_url(request):
if request.GET:
get_param = request.GET.get('get', [''])[0]
more_param = request.GET.get('more', [''])[0]
#some processing here based on the get params
return HttpResponse('OK')
else:
raise Http404
Запрос от клиента является допустимым запросом и не влияет на обработку в неблагоприятных образом. Я тестировал его из оболочки. Когда я попробовал это на сервере разработки django, он разбился так же, не оставив следов получения запроса. Все работает отлично, проверяя его в браузере. Кроме того, скрученный сервер хорошо работает для всех обычных случаев использования. Это первый раз, когда я столкнулся с проблемой. Любая помощь или указатели будут оценены.
Что "выключается" означает? Выходит ли оно чисто? Вызывает ли сигнал его выход? –
Закрученный сервер ничего не записывает в журналы. Я уверен, что это не чистый выход. Он просто перестает работать. Любая идея о том, как я могу поймать сигнал выхода? – tapan
Если вы используете bash, то '$?' Поможет. Из справочной страницы bash: **? Расширяется до статуса выхода последнего выполненного переднего плана. ** Так, например, 'twistd ...; echo $? ' –