Google App Engine Erreur 500, mais pourquoi?
J'obtiens l'erreur suivante dans App Engine après que j'ai déployé. Quelqu'un sait la raison? Il est à l'origine une page d'erreur parfois. Il semble simplejson est la cause...
Selon http://code.google.com/status/appengine/ everyting devrait être de travailler en conséquence.
09-20 11:03AM 56.027 /500 55902ms 240cpu_ms 0kb Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; nl-nl) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5,gzip(gfe)
- - [20/Sep/2010:11:04:51 -0700] "GET /HTTP/1.1" 500 0 - "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; nl-nl) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5,gzip(gfe)" "" ms=55903 cpu_ms=240 api_cpu_ms=0 cpm_usd=0.006723 loading_request=1 pending_ms=1266
E 09-20 11:04AM 51.915
<class 'google.appengine.runtime.DeadlineExceededError'>:
Traceback (most recent call last):
File "/base/data/home/apps//7.344918194765199957/main.py", line 11, in <module>
from logic import home, program, image, searchhandler, twitter, sitemap, feed
File "/base/data/home/apps/7.344918194765199957/logic/home.py", line 14, in <module>
from django.utils import simplejson
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/utils/simplejson/__init__.py", line 95, in <module>
from django.utils.simplejson.decoder import JSONDecoder
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/utils/simplejson/decoder.py", line 6, in <module>
from django.utils.simplejson.scanner import Scanner, pattern
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/utils/simplejson/scanner.py", line 3, in <module>
"""
I 09-20 11:04AM 51.924
This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application.
C'est l'erreur que la page va afficher:
Error: Server Error
The server encountered an error and could not complete your request.
If the problem persists, please report your problem and mention this error message and the query that caused it.
Il semble que ce n'est pas la seule erreur provoquant l'erreur 500. Parce que la plupart du temps, ce qui semble être la cause:
09-20 11:37AM 18.229 /ohohcherso.html 500 11007ms 0cpu_ms 0kb Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.62 Safari/534.3,gzip(gfe),gzip(gfe)
94.209.194.233 - sammiestoel [20/Sep/2010:11:37:29 -0700] "GET /ohohcherso.html HTTP/1.1" 500 0 "http://www.tweetstream.nl/index.html" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.62 Safari/534.3,gzip(gfe),gzip(gfe)" "www.tweetstream.nl" ms=11008 cpu_ms=0 api_cpu_ms=0 cpm_usd=0.000148
W 09-20 11:37AM 29.237
Request was aborted after waiting too long to attempt to service your request. This may happen sporadically when the App Engine serving cluster is under unexpectedly high or uneven load. If you see this message frequently, please contact the App Engine team.
La véritable erreur semble être manquant. Il devrait y avoir 2 lignes après la
Modifié la question avec le plein code d'erreur. Désolé..
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/utils/simplejson/scanner.py", line 3, in <module>
avec l'erreur réelle. Ou une ligne juste au-dessus de la Traceback
Modifié la question avec le plein code d'erreur. Désolé..
OriginalL'auteur Sam Stoelinga | 2010-09-20
Vous devez vous connecter pour publier un commentaire.
Est là votre problème:
Votre page est trop lent, il devrait se charger en moins de 30 secondes. Sinon, l'Application, le Moteur de la tuer.
http://code.google.com/appengine/docs/python/runtime.html#The_Request_Timer
S: c'est tout à fait une erreur commune après la publication de votre application à partir de mon expérience. Il peut prendre une couple de minutes avant que l'application est complètement en cours d'exécution si la première fois vous avez juste à attendre un peu.
Ok, je vais aussi regarder dans optimalizations. Je devrais être en mesure de fixer DeadlineExceededError avec optimlization droit? Merci pour votre réponse, sera accepté si pas de meilleures réponses arrivent 😉
S: Oui, il est parfaitement possible d'exécuter des pages à l'intérieur de l'époque. Pourrais-je vous suggère d'essayer le Kay cadre à la place? Il est basé sur Django avec certaines App Engine correctifs spécifiques: code.google.com/p/kay-framework
Je suis aussi passé par ce problème actuellement... j'utilise le thread d'arrière-plan pour ssh à l'ec2: cmd = "ssh -o 'StrictHostKeyChecking n' -i {0} ubuntu@{1} \"pwd\"".(format de fichier de clés, ip) = os.system(cmd). Puisqu'il faut un certain temps pour terminer la connexion, c'est juste tué après un certain temps avec le "GET /_ah/fond HTTP/1.1" erreur 500. Mais j'ai vraiment besoin de faire du ssh..... Comment puis-je résoudre ce problème?
OriginalL'auteur Wolph
Il semble que le vrai problème était qu'il était """ dans le fichier comme certains commentaires, qui a créé l'erreur 500. L'application fonctionne en douceur maintenant. Je suis heureux je l'ai trouvé à la dernière.
Donc, si vous obtenez cette erreur, vérifiez d'abord si vous avez fait des commentaires dans le mauvais sens!
OriginalL'auteur Sam Stoelinga