Google App Engineにデプロイする予定のアプリケーションがあります。データストアへのアクセスはJPA経由です。また、1日中実行されるいくつかのcronタスクがあります。私の質問は、私は基本的にcronタスクの実行中に特定のデータストアエントリにアクセスすることを防ぐことができる方法ですか?cronタスクの実行中に 'ロック'データストアへのアクセス
特定のテーブルのデータストアエントリがOrdersであり、これらのオーダーを「処理中」のcronタスクがあったとします。私は、そのタスクが実行中にユーザーが注文を変更できるようにしたくありません。
私の最初の考えは、すべてのエンティティにlockedという単純なインターフェイスを実装させ、cronタスクがロック値をtrueに設定して処理しようとしていたすべてのエンティティについてロックし、終わりですが、それはcronが実行されるたびに大量のデータベース更新を必要とし、より効率的な方法が必要であると確信しています。
アイデア?