2011-10-27 2 views
0

Je suis en cours d'exécution du code ci-dessous un peu modfied sur le site Web de gunicorn (http://gunicorn.org/run.html)La requête http à l'intérieur de gunicorn provoque l'échec de la réponse gunicorn?

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]) 

Il est complètement comme prévu, sauf quand je décommentez la ligne urrllib2.urlopen, tout le code échoue silencieusement. Je lance gunicorn sans fichier conf spécifié, ce qui signifie que les erreurs doivent être écrites sur stdout (il n'y en a pas). Le navigateur faisant la demande aux erreurs et aux réclamations de gunicorn "aucune date reçue"

Une idée que se passe-t-il? Je n'ai rien trouvé même à distance lié à cela ailleurs sur le web.

Merci!

Répondre

0

Je figurés celui-ci par la recherche ici: https://github.com/benoitc/gunicorn/issues/38

qui m'a signalé ce bogue documenté dans urllib2 sur OS X - https://trac.macports.org/ticket/24421

J'ai réussi à le réparer en utilisant python 2.6.6 à la place de python 2.6.5 - assez sûr que je les ai installés différemment aussi bien qui aurait pu aussi être le correctif. Un autre des correctifs suggérés consistait à rétrograder python à 2.6.4

Questions connexes