запрос http внутри gunicorn вызывает провал ответа gunicorn? - PullRequest
0 голосов
/ 27 октября 2011

Я использую приведенный ниже код, слегка измененный с сайта Gunicorn (http://gunicorn.org/run.html)

import urllib2

def app(environ, start_response):
    print "in app"
#    response=urllib2.urlopen('http://www.google.com')
    data = 'Hello, World!\n'
    response_headers = [
        ('Content-type','text/plain'),
        ('Content-Length', str(len(data)))
    ]
    start_response('200 OK', response_headers)
    print "    starting response"
    return iter([data])

Он работает полностью, как и ожидалось, за исключением того, что, когда я раскомментирую строку urrllib2.urlopen, весь код завершится неудачно.

Я использую gunicorn без указания файла conf, что означает, что ошибки должны быть записаны на стандартный вывод (их нет). Браузер, запрашивающий ошибки и претензии к огнестрельному оружию "Дата не получена"

Есть идеи, что происходит? Я не нашел в Интернете ничего, даже отдаленно связанного с этим.

Спасибо!

1 Ответ

0 голосов
/ 29 октября 2011

Я понял это, посмотрев здесь: https://github.com/benoitc/gunicorn/issues/38

, который указал мне на эту задокументированную ошибку в urllib2 в OS X - https://trac.macports.org/ticket/24421

Мне удалось это исправить, используя python 2.6.6 вместо python 2.6.5 - я уверен, что установил их по-другому, что также могло быть исправлением. Еще одним из предложенных исправлений было понижение Python до 2.6.4

...