AppEngineのキューにタスクを追加する場合、タスク名は一定期間再利用できません(「トゥームストーン」と呼ばれます)。ドキュメントやそれを変更する方法で墓石の持続時間を見つけることができませんでした。
近所でヒットする唯一のものはTaskOptions.Builder.etaMillis()
、タスクの予想される期間を設定することです(何のために、私は知りません)。これとトゥームストーン期間の間に文書化された関係はありません。
それで、これについての洞察を持っている人はいますか?
AppEngineのキューにタスクを追加する場合、タスク名は一定期間再利用できません(「トゥームストーン」と呼ばれます)。ドキュメントやそれを変更する方法で墓石の持続時間を見つけることができませんでした。
近所でヒットする唯一のものはTaskOptions.Builder.etaMillis()
、タスクの予想される期間を設定することです(何のために、私は知りません)。これとトゥームストーン期間の間に文書化された関係はありません。
それで、これについての洞察を持っている人はいますか?
未定義です。これは、開発者がそれを設定することも、おおよそのトゥームストーン期間の値を期待することもできないことを意味します。
「一定時間」は、GAEチームが任意に設定することも、システムが動的に設定することもできます。
特定の時間内に同じタスクを実行したくない場合は、実際に独自のワークフロー実装を構築する必要があります。:)
タスクは、実行または削除が成功した直後、または最大数の失敗の後に削除されます。タスク名は、10日後に再利用できます。この10日間に同じ名前で別のタスクを作成しようとすると、「アイテムが存在します」というエラーが発生します。タスク名の再利用に関する問題を回避するために、AppEngineにタスク名を自動的に生成させることをお勧めします。
だから10日だと思います
なぜ制限があるべきなのか。GoogleがAppEngineをリセットすることは誰にも想像できないと思います。したがって、それはアプリケーションの一部であり、請求書を支払うのはあなただけです。あなたが請求書を支払う限り....私の答えです。
この機能リクエストも参照してください:http ://code.google.com/p/googleappengine/issues/detail?id = 1774