オブジェクトのインスタンスを 1 つ作成して AppEngine データストアに保存する必要があります (複数のオブジェクトが存在する必要はありません)。私がスケジュールしている cron ジョブの最後の実行時間です。アイデアは、cron ジョブは、処理のために最後の実行以降に作成/更新された行のみを取得し、完了後に最後の実行時間を更新するというものです。同時実行の問題を考慮すると、これを行う最善の方法は何ですか?まあ-前のジョブの実行が終了していない場合は?
質問する
133 次
1 に答える
1
あなたの質問を正しく理解できれば、ジョブが現在実行されているかどうかを記録する「ジョブ簿記」エンティティを作成し、ジョブで処理しているものに関する必要な状態を記録できるように思えます。
次に、トランザクションを使用してその簿記エンティティにアクセスし、一度に 1 つのプロセスのみが読み取りと更新を実行できるようにします。これにより、新しいジョブを開始する前に、別のジョブがまだ実行されているかどうかを安全に確認できます。
(データストアは非リレーショナルなので、「行」について言及したことで推測していますが、代わりに、処理する必要があるある種のエンティティを意味していますか?簿記エンティティは、処理したこれらのエンティティの状態に関する状態を保存できるため、これにより、処理する新しいものを照会できます)。
于 2012-10-15T09:59:29.410 に答える