Что такое TombstonedTaskError из очереди задач App Engine? - PullRequest
34 голосов
/ 09 июля 2009

Что означает TombstonedTaskError? Он вызывается при попытке добавить задачу в очередь из задания cron:

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

Поиск в документации имеет только следующее:

exception TombstonedTaskError(InvalidTaskError)
    Task has been tombstoned.

.. что не особенно полезно.

Мне не удалось найти ничего полезного в коде App Engine . ..

1 Ответ

49 голосов
/ 09 июля 2009

Вы уже добавили задачу с таким точным именем. Хотя он уже запущен, имена выполненных задач хранятся некоторое время, чтобы предотвратить случайные дубликаты. Если вы назначаете имена задач, вы должны использовать те, которые являются глобально уникальными, чтобы предотвратить это.

...