2010-10-23 8 views
6

Ich weiß, dass Sie die derzeit in der Warteschlange stehenden und ausgeführten Aufgaben im Dashboard oder in der Entwicklungsserverkonsole anzeigen können. Gibt es jedoch eine Möglichkeit, diese Liste programmgesteuert zu erhalten? In den Dokumenten wird nur beschrieben, wie Aufgaben der Warteschlange hinzugefügt, nicht jedoch aufgelistet und/oder abgebrochen werden.Abrufen der Aufgaben in einer Google App Engine TaskQueue

In Python bitte.

Antwort

2

Es sieht sicher nicht so aus. Anstatt den Task zu entfernen, wie ändert man den Task-Handler, der die Task-URL aufruft, um zu überprüfen, ob die angegebene Arbeit noch ausgeführt werden muss, und geben Sie sofort 200 OK zurück, wenn der Task gelöscht wird.

Diese issue auf Google-Code scheint die gleiche Funktion zu verlangen.

1

Eine Problemumgehung, da sie dies noch nicht zu unterstützen scheint, wäre das Modellieren eines Task-Datenspeicherobjekts. Erstellen Sie einen Task für die Taskwarteschlange, aktualisieren Sie ihn beim Ausführen und löschen Sie ihn, wenn die Task ausgelöst wird. Dies kann auch eine gute Möglichkeit sein, um die Nutzlastgrenzen der Taskwarteschlange api zu umgehen.

0

Wenn Sie Pull-Warteschlangen verwenden, kann dies erreicht werden unter Verwendung der Task Queue REST API über:

GET 
https://www.googleapis.com/taskqueue/v1beta1/projects/{PROJECT_NAME}/taskqueues/{TASKQUEUE_NAME}/tasks 

jetzt richtig, das ist nur möglich, Pull-Warteschlangen mit:

„Sie können nur Push-Warteschlangen verwenden innerhalb der App Engine-Umgebung; wenn Sie auf App Engine-Aufgaben von außerhalb von App Engine zugreifen müssen, verwenden Sie Pull-Warteschlangen. " - Push Queue docs