2012-12-05 1 views
5

Podczas dodawania zadań do kolejki w AppEngine, nazwy zadań nie mogą być ponownie użyte przez określony czas (mówi się, że są "tombstonowane"). Nie mogłem znaleźć czasu trwania nagrobka w dokumentacji ani w żaden sposób go zmodyfikować.Jak długo nazwy zadań są ukryte w AppEngine?

Jedyną rzeczą, która trafia w sąsiedztwo, jest TaskOptions.Builder.etaMillis(), która określa przewidywany czas trwania zadania (po co, nie wiem). Nie ma udokumentowanej zależności między tym a czasem trwania nagrobka.

Tak, każdy, kto ma wgląd w to?

Odpowiedz

6

Jest niezdefiniowana. Oznacza to, że programiści nie mogą go ustawić ani oczekiwać przybliżonej wartości czasu trwania nagrobka.

"Określony czas" może być dowolnie ustalony przez zespół GAE lub ustawiony dynamicznie przez system.

Jeśli nie chcesz wykonywać tych samych zadań w określonym czasie, powinieneś po prostu zbudować dla niego własną implementację przepływu pracy. :)

+0

Przykro mi, ale muszę cytat ten fakt. Wiem, że konwencjonalna mądrość polega na tym, że "nie możesz tego kontrolować", ale nie mogłem tego potwierdzić w dokumentacji lub na blogu/grupie dyskusyjnej/tweecie/cokolwiek z zespołu AppEngine. Chciałbym unikać budowania aplikacji na podstawie założeń. –

+2

Ma rację. Nawet jeśli zapewniony jest stały czas nagrobka, powinieneś unikać polegania na nim. Intencją jest, aby nazwy zadań były zawsze używane ponownie; Wpisy z tombstonem są usuwane tylko w celu zaoszczędzenia miejsca. –

-2

Dlaczego powinno istnieć ograniczenie. Myślę, że nikt nie może wyobrazić sobie, że Google zresetuje App Engine. Jest to więc część aplikacji i tylko Ty płacisz rachunek. Tak długo, jak płacisz rachunek .... to moja odpowiedź.

Zobacz także ten wniosek cecha: http://code.google.com/p/googleappengine/issues/detail?id=1774

+0

To nie jest odpowiedź na pytanie. –

3

Od official task queue docs:

Zadanie jest usuwane natychmiast po pomyślnym wykonaniu lub usunięcia, albo po maksymalnej liczby awarii. Nazwa zadania może być ponownie użyta po 10 dniach. Próba utworzenia kolejnego zadania o tej samej nazwie podczas tego okresu 10-dni spowoduje błąd "element istnieje". Aby uniknąć problemów związanych z ponownym użyciem nazwy zadania, zalecamy zezwolenie App Engine na automatyczne generowanie nazwy zadania.

Więc myślę, że to musi być 10 dni