2009-07-08 9 views
33

TombstonedTaskErrorの意味は何ですか? cronジョブから、キューにタスクを追加しようとしたときにそれが発生している:App EngineのタスクキューからTombstonedTaskErrorとは何ですか?

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 codeのいずれか..

答えて

46

に有用何かを見つけることができませんでした。すでに実行されていますが、偶発的な重複を防ぐために実行されたタスク名はしばらくの間保持されます。タスク名を割り当てる場合は、これを防ぐためにグローバルにユニークな名前を使用する必要があります。

+17

この説明でドキュメントを更新してください – fjsj

+3

古いタスクが完了した後、同じ名前のタスクを追加できないのはなぜですか? そのような場合は、どのタスクがキューにあるかを確認する方法を許可する必要があります。 –

+2

@krzykそれ以外の場合は、終了時にその名前のタスクを追加する競合状態が発生するためです。タスク名のポイントは、繰り返し実行を防止することです。 –

関連する問題