Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

For how long are task names tombstoned in AppEngine?

When adding tasks to a queue in AppEngine, task names cannot be reused for a certain amount of time (said to be "tombstoned"). I could not find the duration of the tombstone in the documentation or any way to modify it.

The only thing that hits in the neighborhood is TaskOptions.Builder.etaMillis(), which sets the expected duration of the task (what for, I don't know). There is no documented relationship between this and the tombstone duration.

So, anyone with insight on this?

like image 861
Nacho Coloma Avatar asked Dec 05 '12 17:12

Nacho Coloma


2 Answers

It's undefined. This means that developers cannot set it, nor expect an approximate tombstone duration value.

The "certain amount of time" may be arbitrarily set by the GAE team or dynamically set by the system.

If you don't want to run the same tasks during a specific amount of time, you should just really build your own workflow implementation for it. :)

like image 156
Albert Avatar answered Oct 21 '22 08:10

Albert


From official task queue docs:

A task is deleted immediately upon successful execution or deletion, or after a maximum number of failures. The task name can then be re-used after 10 days. Attempting to create another task with that same name during this 10-day period will result in an "item exists" error. To avoid issues with task name re-use, we recommend that you let App Engine generate the task name automatically.

So I think it must be 10 days

like image 30
notapresent Avatar answered Oct 21 '22 09:10

notapresent