Question

Je développe un site Web avec Google App Engine et Django 1.0 (app-engine-patch)

Une partie importante de mon programme doit être exécutée en arrière-plan, modifier les données locales et également publier sur une URL distante

Quelqu'un peut-il suggérer un moyen efficace de le faire?

Était-ce utile?

La solution

Sans utiliser de système tiers, votre seule option consiste à utiliser le fonctionnalité cron .

Vous seriez toujours lié par les limitations habituelles du temps d'exécution du script GAE, mais cela ne se produirait pas lors du chargement d'une page.

Il existe des plans pour le traitement en arrière-plan, voir ce numéro de moteur d'application # 6 , et cette mise à jour de la feuille de route

Autres conseils

Je souscris à la recommandation de dbr de http://code.google. com / appengine / docs / python / config / cron.html (et espère de meilleures approches futures, telles que les & "files d'attente de tâches &" promises & ";).

Néanmoins, je soupçonne que si vous avez effectivement besoin d'un traitement en arrière-plan majeur (comme dans un processeur lourd ), GAE pourrait ne pas être l'environnement le plus hospitalier pour cela. Vous pouvez envisager d’exécuter ces tâches d’arrière-plan lourdes dans d’autres environnements et de les faire communiquer avec GAE, par exemple. via le " chargement en bloc / téléchargement " API, voir http://code.google.com/appengine/docs /python/tools/uploadingdata.html (et http://code.google.com/appengine/docs/python/tools/uploadingdata.html#Downloading_Data_from_App_Engine pour la partie en cours de téléchargement).

La documentation de Google décrit uniquement l'utilisation du fichier appcfg.py en ligne de commande à ces fins (je ne trouve pas de documentation appropriée sur les API qu'elle utilise!). Toutefois, si vous avez besoin d'une utilisation plus programmatique de ces API, il n'est pas difficile de les distinguer des sources de appcfg.py.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top