2010-07-11 16 views
1

J'ai une application GAE qui effectue un gros traitement à l'avance, puis est capable de faire très peu de traitement sur les demandes d'utilisateurs suivantes. Cependant, lorsque je déploie mon application sur les serveurs de Google et que j'essaie de faire le traitement lourd, j'obtiens un DeadlineExceededError. Y at-il un moyen de contourner cela?Google App Engine: DeadlineExceededError

MISE À JOUR: Que faire si je fais quelque chose à travers /remote_api? Qui a toléré les 10 minutes qu'il a fallu pour télécharger les données, alors peut-être est-il immunisé contre la limite de temps pour les demandes?

Répondre

3

Chaque exécution de script a une échéance de 30 secondes. /remote_api ne fait pas exception. /remote_api Vous pouvez avoir un script exécuté localement qui prend 10 minutes pour terminer, cependant /remote_api est invoqué une fois pour chaque RPC de banque de données, tout cela signifie que chaque individu obtient, met, interroge, etc. terminé avant la date limite.

Le chargeur en bloc, les files d'attente de tâches et les curseurs de requête sont tous conçus pour simplifier le traitement intensif de petites portions. Si vous avez besoin d'aide pour refactoriser votre code de traitement, profitez-en pour poster des détails spécifiques sur ce que vous essayez de faire.