2010-10-26 14 views
2

Je semble obtenir cette erreur, et je ne sais pas comment le déboguer. Des pointeurs?Django erreur SSL

retraçage (le plus récent appel dernier):

File "/opt/python2.6/lib/python2.6/site-packages/django/core/handlers/base.py", line 92, in get_response 
    response = callback(request, *callback_args, **callback_kwargs) 

File "/www/django_test1/omu2/views.py", line 26, in frontIndex 
    context_instance=RequestContext(request)) 

File "/opt/python2.6/lib/python2.6/site-packages/django/shortcuts/__init__.py", line 20, in render_to_response 
    return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/loader.py", line 108, in render_to_string 
    return t.render(context_instance) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 178, in render 
    return self.nodelist.render(context) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 779, in render 
    bits.append(self.render_node(node, context)) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 792, in render_node 
    return node.render(context) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/loader_tags.py", line 97, in render 
    return compiled_parent.render(context) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 178, in render 
    return self.nodelist.render(context) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 779, in render 
    bits.append(self.render_node(node, context)) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 792, in render_node 
    return node.render(context) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/loader_tags.py", line 24, in render 
    result = self.nodelist.render(context) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 779, in render 
    bits.append(self.render_node(node, context)) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 792, in render_node 
    return node.render(context) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 946, in render 
    autoescape=context.autoescape)) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 779, in render 
    bits.append(self.render_node(node, context)) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 792, in render_node 
    return node.render(context) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/defaulttags.py", line 243, in render 
    return self.nodelist_true.render(context) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 779, in render 
    bits.append(self.render_node(node, context)) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 792, in render_node 
    return node.render(context) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/defaulttags.py", line 155, in render 
    nodelist.append(node.render(context)) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 826, in render 
    output = self.filter_expression.resolve(context) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 546, in resolve 
    obj = self.var.resolve(context) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 687, in resolve 
    value = self._resolve_lookup(context) 

File "/opt/python2.6/lib/python2.6/site-packages/django/template/__init__.py", line 716, in _resolve_lookup 
    current = getattr(current, bit) 

File "/opt/python2.6/lib/python2.6/site-packages/django_imagekit-0.3.3-py2.6.egg/imagekit/specs.py", line 94, in url 
    self._create() 

File "/opt/python2.6/lib/python2.6/site-packages/django_imagekit-0.3.3-py2.6.egg/imagekit/specs.py", line 66, in _create 
    self._obj._storage.save(self.name, content) 

File "/opt/python2.6/lib/python2.6/site-packages/django/core/files/storage.py", line 46, in save 
    name = self.get_available_name(name) 

File "/opt/python2.6/lib/python2.6/site-packages/django/core/files/storage.py", line 71, in get_available_name 
    while self.exists(name): 

File "/opt/python2.6/lib/python2.6/site-packages/cumulus/storage.py", line 147, in exists 
    self._get_cloud_obj(name) 

File "/opt/python2.6/lib/python2.6/site-packages/cumulus/storage.py", line 99, in _get_cloud_obj 
    return self.container.get_object(name) 

File "/www/django_test1/omu2/src/python-cloudfiles/cloudfiles/utils.py", line 43, in decorator 
    return f(*args, **kwargs) 

File "/www/django_test1/omu2/src/python-cloudfiles/cloudfiles/container.py", line 316, in get_object 
    return Object(self, object_name, force_exists=True) 

File "/www/django_test1/omu2/src/python-cloudfiles/cloudfiles/storage_object.py", line 89, in __init__ 
    if not self._initialize() and force_exists: 

File "/www/django_test1/omu2/src/python-cloudfiles/cloudfiles/storage_object.py", line 462, in _initialize 
    'HEAD', [self.container.name, self.name] 

File "/www/django_test1/omu2/src/python-cloudfiles/cloudfiles/connection.py", line 200, in make_request 
    response = retry_request() 

File "/www/django_test1/omu2/src/python-cloudfiles/cloudfiles/connection.py", line 194, in retry_request 
    return self.connection.getresponse() 

File "/opt/python2.6/lib/python2.6/httplib.py", line 974, in getresponse 
    response.begin() 

File "/opt/python2.6/lib/python2.6/httplib.py", line 391, in begin 
    version, status, reason = self._read_status() 

File "/opt/python2.6/lib/python2.6/httplib.py", line 349, in _read_status 
    line = self.fp.readline() 

File "/opt/python2.6/lib/python2.6/socket.py", line 397, in readline 
    data = recv(1) 

File "/opt/python2.6/lib/python2.6/ssl.py", line 96, in <lambda> 
    self.recv = lambda buflen=1024, flags=0: SSLSocket.recv(self, buflen, flags) 

File "/opt/python2.6/lib/python2.6/ssl.py", line 222, in recv 
    raise x 

SSLError: The read operation timed out 

Répondre

1

De l'apparence de celui-ci, je dirais que la connexion à Rackspace CloudFiles a expiré. Imagekit construit dynamiquement les vignettes (ce que je crois qu'il faisait ici en _create()) mais il y a aussi une option pour créer toutes les vignettes quand le modèle est sauvegardé plutôt que pendant le rendu. Cela ne vous aidera pas vraiment si Rackspace tombe en panne, mais cela vous aidera à réduire le temps nécessaire au rendu de vos modèles.

EDIT: Pour effectuer une pré-cache ongle du pouce que vous modifiez votre définition ImageSpec d'inclure pre_cache = True tels que (du imagekit wiki):

from imagekit.specs import ImageSpec 

class Thumbnail(ImageSpec): 
    access_as = 'thumbnail_image' 
    pre_cache = True 

Si vous changez vos spécifications, vous pouvez reconstruire tous les mises en cache des vignettes avec la commande de gestion ikflush. Vous devriez noter que, bien que cela va créer toutes les vignettes où pre_cache = True cela va également supprimer toutes les images en cache où pre_cache = False.

+0

merci d'avoir jeté un oeil! Je ne savais pas que vous pouviez le configurer pour cela, quels paramètres devez-vous modifier? – ApPeL

+0

@ApPel J'ai mis à jour ma réponse pour inclure les informations sur les vignettes de pré-mise en cache avec django-imagekit. –

+0

merci pour votre réponse, bien qu'il semble que j'ai déjà pré-mis en cache les images, ce qui signifie qu'ils se trouvent sur le serveur. J'ai un serveur de base 256, etc., cela pourrait-il être un problème? – ApPeL

3

Je suis l'auteur de django-cumulus. Cloud Files est connu pour les problèmes de connexion SSL. django-cumulus a un paramètre (ajouté en 0.3.6) appelé CUMULUS_TIMEOUT qui a par défaut 5 secondes. Vous pouvez l'augmenter à 10 ou 15 pour essayer d'atténuer cela.

Voir https://github.com/richleland/django-cumulus/issues/5 pour plus d'informations et n'hésitez pas à poster un problème si vous continuez à rencontrer des problèmes.