私のアプリケーションには、次のことを行う cron ジョブがあります。
- ステータスが「保留中」に設定されているデータベース テーブルからエントリを取得します。列のリストは次のとおりです: id、name、title、ip、status
- このようなエントリごとに、REST (Web サービス) 呼び出しを実行し、応答を取得して処理し、データをデータベースに保存します。
現在、cron ジョブの間隔を 1 分に設定しています。ただし、場合によっては、実行に 5 ~ 10 分かかることがあります (まれなケース)。
私の場合、cron ジョブの同時実行を処理することは重要ですか? ロックファイルなどを使用していますか?
現在、エントリが処理されているときに、エントリの状態列の値を「処理中」に変更して、cron ジョブの次の呼び出しで再度処理されないようにしています。