J'ai testé la taskqueue avec un succès mitigé. Actuellement, je suis en utilisant la file d'attente par défaut, dans les paramètres par défaut etc etc ....GAE Task Queue étrangeté
J'ai une configuration d'URL de test qui insère environ 8 tâches dans la file d'attente. Avec une commande courte, tous les 8 sont complétés correctement. Jusqu'ici tout va bien.
Le problème survient lorsque je recharge deux fois cette URL en moins d'une minute. Maintenant, en regardant la file d'attente des tâches, toutes les tâches sont ajoutées correctement, mais seulement le premier lot semble exécuter. Mais le "Run in Last Minute" # montre le bon nombre de tâches en cours d'exécution ....
Les journaux de demande racontent une histoire différente. Ils montrent uniquement le premier jeu de 8 en cours d'exécution, mais toutes les URL de création de tâches fonctionnent correctement.
L'étrangeté de ceci est que si j'attends une minute entre la tâche demandes d'URL de création, cela fonctionnera bien.
Assez curieusement changer la taille de bucket_size ou la vitesse d'exécution ne semble pas pour aider. Seul le premier lot est exécuté. J'ai également réduit le nombre de requêtes à 2, et je n'ai trouvé que la première exécution de . Tous les autres ajoutés affichent les mêmes problèmes que ci-dessus.
Des suggestions?
Merci
Est-ce que ce deuxième séjour de lot dans la file d'attente des tâches pour toujours? Que dit la colonne ETA, toutes les tâches du deuxième lot sont-elles en retard? – noio
Les tâches sont "exécutées" ou au moins GAE le pense, elles ne restent pas dans la file d'attente. – b3nw
Lorsqu'une tâche est exécutée, GAE exécute un HTTP GET (ou POST) sur l'URL de la tâche. Ensuite, la tâche (url) est retirée de la file uniquement si elle renvoie http 200. Si elle renvoie 500, elle reste dans la file d'attente et GAE l'exécute à nouveau. Vérifiez soigneusement les journaux. Votre URL cible renvoie-t-elle toujours 200? –