Неожиданная ошибка 500 при возврате ответа в Django, что происходит? - PullRequest
0 голосов
/ 27 июня 2011

У меня есть представление в Django, которое возвращает ошибку 500, и я не могу понять, почему. Это выглядит примерно так:

def some_view(request):
    result = some_func(request.raw_post_data)
    response = HttpResponse(status=200)
    response['Content-Type'] = 'application/json'
    response.content = simplejson.dumps(result)
    # if I log something here, it will be printed, so control reaches here
    return response

Так что, похоже, мой взгляд работает правильно и что-то происходит во внутренних органах Django, но я не могу отследить, где именно это происходит. Любой намек на то, что это такое или как его найти?

Вещи, которые могут быть важны:

  • Я использую Python 2.5 и Django 1.1.4
  • Данные POST содержат массив JSON, содержащий около 1000 строковых записей по 50 байт каждый
  • ответ - около 100 КБ
  • другие представления, кажется, прекрасно работают
  • В операции задействованы БД

1 Ответ

0 голосов
/ 27 июня 2011

Проблема заключалась в том, что модуль FastCGI в Apache имеет время ожидания 30 с, а Django потребовалось более 30 с для подготовки ответа. Затем Apache вернул общее сообщение об ошибке 500.

...