dbr
dbr

Reputation: 169663

What is TombstonedTaskError from App Engine's Task Queue?

What does the TombstonedTaskError mean? It is being raised while trying to add a task to the queue, from a cron-job:

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

Searching the documentation only has the following to say:

exception TombstonedTaskError(InvalidTaskError)
    Task has been tombstoned.

..which isn't particularly helpful.

I couldn't find anything useful in the App Engine code either..

Upvotes: 36

Views: 5067

Answers (1)

Nick Johnson
Nick Johnson

Reputation: 101149

You've added a task with that exact name before. Although it's already run, executed task names are kept around for some time to prevent accidental duplicates. If you're assigning task names, you should be using ones that are globally unique to prevent this occurring.

Upvotes: 51

Related Questions