私のアプリでは、アップロードされたドキュメントを処理し、処理結果を DB に入れる必要があります。
ドキュメントはファイル システムに保存され、メタデータは DB に保存されます。
ドキュメントごとに、それに応じて DB のメタデータを更新するよりも、ディスクからファイルを開いて処理する必要があります。処理には費用がかかり、時間がかかる場合があります。
私がやろうとしていることは次のとおりです。
- N 個のタスクにまたがり、1 つのタスクで 1 つのドキュメントを処理する
- 各タスクは、最も古い「未処理」のドキュメントを見つけます。
- タスクはDBで「進行中」としてマークし、処理を開始します
- ドキュメント タスクの処理後、メタデータが更新され、DB で「処理済み」としてマークされます。
- その後、タスクはステップ 2 に進みます
アプリケーションがScalaではなくJavaで書かれていると仮定して、PlayとAkkaを活用してこれを実装する正しい/最も簡単な方法は何ですか? ソースコードの例も高く評価されます。