2009-07-08 5 views
33

Was bedeutet TombstonedTaskError? Es wird angehoben wird bei dem Versuch, eine Aufgabe in die Warteschlange hinzuzufügen, von einem cron-Job:Was ist TombstonedTaskError aus der Aufgabenwarteschlange von App Engine?

Traceback (most recent call last): 
    File "/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 501, in __call__ 
    handler.get(*groups) 
    File "/base/data/home/apps/.../tasks.py", line 132, in get 
    ).add(queue_name = 'userfeedcheck') 
    File "/base/python_lib/versions/1/google/appengine/api/labs/taskqueue/taskqueue.py", line 495, in add 
    return Queue(queue_name).add(self) 
    File "/base/python_lib/versions/1/google/appengine/api/labs/taskqueue/taskqueue.py", line 563, in add 
    self.__TranslateError(e) 
    File "/base/python_lib/versions/1/google/appengine/api/labs/taskqueue/taskqueue.py", line 619, in __TranslateError 
    raise TombstonedTaskError(error.error_detail) 
TombstonedTaskError 

der Dokumentation Suche nur hat folgendes sagen zu:

exception TombstonedTaskError(InvalidTaskError) 
    Task has been tombstoned. 

.. was nicht besonders hilfreich ist.

ich nichts Nützliches in dem App Engine code finden kann, entweder ..

Antwort

46

Sie haben, bevor Sie eine Aufgabe mit dem genauen Namen hinzugefügt. Obwohl sie bereits ausgeführt wird, werden ausgeführte Aufgabennamen für einige Zeit beibehalten, um versehentliche Duplikate zu verhindern. Wenn Sie Aufgabennamen zuweisen, sollten Sie solche verwenden, die global eindeutig sind, um dies zu verhindern.

+17

Bitte aktualisieren Sie die Dokumentation mit dieser Erklärung. – fjsj

+3

Warum verhindern sie das Hinzufügen von Aufgaben mit dem gleichen Namen, nachdem die alte Aufgabe beendet wurde? Wenn es so ist, sollten sie einen Weg erlauben zu überprüfen, welche Aufgaben in der Warteschlange sind. –

+2

@krzyk Da es sonst eine Race Condition geben würde, in der du eine Aufgabe mit diesem Namen hinzufügst. Der Punkt der Tasknamen besteht darin, eine wiederholte Ausführung zu verhindern. –

Verwandte Themen