2 votes

Comment mettre en place des tentatives automatiques avec les tâches GAE ?

Voici mon code :

class PublishPhotosHandler(webapp.RequestHandler):
    for argument in files_arguments:
        taskqueue.add(url='/upload', params={'key': key})

class UploadWorker(webapp.RequestHandler):
    def post(self):
        key = self.request.get('key')
        result = urlfetch.fetch(...)
        # how to return there an error, so the task will be retried?

6voto

Chris Farmiloe Points 7769

Si une tâche ne parvient pas à s'exécuter (en renvoyant un code d'état HTTP en dehors de la plage 200-299), App Engine relance la tâche jusqu'à ce qu'elle réussisse. Par défaut, le système réduit progressivement le taux de relance pour éviter d'inonder votre application de trop nombreuses requêtes, mais il planifie les tentatives de relance pour qu'elles se reproduisent au maximum une fois par heure jusqu'à ce que la tâche réussisse.

en levant cualquier L'exception entraînera un code d'état non XX, ce qui soulèvera donc la question de l'accès à l'information. cualquier L'exception entraînera la remise en file d'attente de la tâche et une nouvelle tentative.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X