2

タスクキュー内のAppEngineタスクを更新することは可能ですか?
具体的にetaは、タスクのプロパティを変更して、別の時間に実行するようにしますか?

私のシナリオでは、データストア内の各アイテムに関連付けられたタスクが関連付けられています。要素が更新された場合、タスクは新しいで更新する必要がありますeta

name=item.key().id()現在、タスクを一意に参照できるように、を使用してアイテムのIDとしてタスクの名前を明示的に設定しています。

タスクが呼び出されて削除されても、名前はすぐには解放されません(私は思います)。実行されたらすぐにタスクを再追加する必要があるため、これにより問題が発生します。

4

2 に答える 2

1

プルキューを使用すると、modify_task_leaseを使用して、現在の時刻を基準にしてETAを設定できます(現在タスクがリースされていない場合でも)。

プルキュータスクのETAを変更することはできません。

各タスクの名前は7日間使用できません。

于 2012-07-03T09:44:06.307 に答える
1

そこで、次の方法でこれを解決しました。
モデルにtask_name. 要素を作成して新しいタスクを追加すると、アプリ エンジンがタスクの自動化された一意の名前を生成し、そのタスクの名前を取得してモデルと共に保存できるようになります。

これにより、タスクへの参照を取得できます。

タスクを変更する必要がある場合は、既存のタスクを削除し、新しいタスクを使用して新しいタスクを作成し、eta新しいタスクの名前をモデルに保存します。

Task.add()これは今のところ機能していますが、関数が戻ったときにタスクが一貫していないという問題が将来発生する可能性があります。

于 2012-07-03T14:34:25.293 に答える