現在、2 つの Windows サービスを構築しています。
1 つ目は、インターネット接続からメッセージを取得し、データベースに挿入します。これは、高速で安定しており、他の処理を行わないように設計されています
2 つ目は、前回の実行以降に到着した新しいメッセージを使用してバッチ プロセスを実行します。
新しいメッセージを処理する準備ができたときにのみ 2 番目のサービスがバッチ プロセスを実行し、2 番目のサービスでエラーが発生した場合は最初のサービスが続行し、その逆も同様になるようにする方法を考えています。現時点では、5 秒ごとにループを使用しています。
私は現在、キューが空の場合にのみ最初のサービスがメッセージを書き込み、2 番目のサービスがキューにメッセージが含まれているかどうかを確認するメッセージ キューの使用を考えています。メッセージを削除して実行します。したがって、実際にはキューとしてではなく、状態が変化したときに 2 番目のサービスに対してイベントがトリガーされるバイナリ スイッチとしてキューを使用します。
私が遭遇したことのないこれを行うためのより良い方法があると思いますが、誰かが私を正しい方向に向けてくれますか?