2017-06-13 2 views

Répondre

2

Pas nécessairement. Je peux penser à 2 cas où cela pourrait ne pas se produire:

  • tâches peuvent avoir différentes PSAE (à l'avenir, par exemple), l'ordre serait normalement l'ETA un, voir do google app engine pull queues return tasks in FIFO order?

  • tâche l'exécution peut échouer (pour une raison quelconque) et ils peuvent être automatiquement ré-essayés avec un système de backoff (c'est-à-dire après un certain délai). Ce qui signifie que d'autres tâches qui normalement se dérouleraient après l'échec pourraient en fait être exécutées avant les tentatives de nouvelle tentative.

+0

"Ce qui signifie que d'autres tâches normalement exécutées après l'échec risquent de s'exécuter avant les tentatives de nouvelle tentative" - ​​Ouch. Bon à savoir. Merci. – BlueBoy

2

Les files d'attente de tâches n'offrent aucune garantie quant à l'ordre d'exécution. En particulier, les tâches planifiées pour s'exécuter immédiatement suivent un chemin de code qui peut entraîner une réorganisation importante. Comportement pour les files d'attente push et pull est également distinctement différent.

Si vous planifiez des tâches à exécuter peu de temps après, l'ordre d'exécution est plus susceptible d'être eta order. Encore une fois, il n'y a aucune garantie, et vous devriez concevoir la livraison hors service comme un cas normal, quoique rare. Les modes d'échec sont généralement un nombre important de tâches hors service pendant une brève période, et non une tâche hors service occasionnellement isolée.