次の 3 種類のプロセスを持つ Azure Worker ロールがあります。
- データベースから読み取り、 worker-input-queue に書き込む C# スレッド(Task1)
- worker-input-queueから読み取る Java スレッドが機能し、 worker-output-queue に書き込む
- worker-output-queueから読み取り、データベースに書き込む C# スレッド(タスク 2)
Task1 と Task2 は無期限に実行され、それぞれのキューが空の場合はスリープします。
私のコードは次のようになります。
SpawnJavaProcesses();
Task.Factory.StartNew(Task1);
Task.Factory.StartNew(Task2);
while(true)
{
//do some trivial sporadic work
Thread.Sleep(60*1000);
}
私の質問:
- Task1 と Task2 を開始するときに、LongRunning タスク作成オプションを使用する必要がありますか?
- ここでやろうとしていることを実装するより良い方法はありますか?