良い一日、
しばらく頭を悩ませてきた概念的な質問をしたいと思います。おそらくここには正しい答えも間違った答えもありませんが、私の選択肢をよりよく理解したいと思っています。
状況:WindowsAzureアプリケーションを使用しています。これは、1つのインスタンスを持つ1つのWebロールと、2つのインスタンスを持つ1つのワーカーロールで構成されます。
主な焦点は労働者の役割です。Quartz.NETスケジューラーを実装して、CRMシステムから情報を取得し、そこからテーブルを作成して、たとえば8時間ごとにFTPサーバーにアップロードするタスクを実行します。とてもシンプルで、派手なものは何もありません。
Webロールは、誰かが8時間間隔で実行する必要がある場合に、ジョブを手動でトリガーするために使用されます。ほぼ1つのボタンを備えたシンプルなユーザーインターフェイス。
ただし、ワーカーロールの一部の構成オプションをWebロールから変更できるようにしたいと思います。たとえば、宛先FTPサーバーのクレデンシャルとジョブのスケジュール。たとえば、8時間ではなく1時間ごとに実行します。ロールがオフラインになった場合、構成を永続化する必要はありません。現時点では、configは静的クラスの1つです。
1つのワーカーロールインスタンスを実行している場合、これは問題とは思われません。たとえば、キューを介してWebロールからメッセージを送信し、ワーカーロールのいくつかの静的変数を変更します。しかし、私を混乱させるのは、メッセージキューは、同時に両方ではなく、1つのロールインスタンスによってのみ取得できることです。したがって、あるインスタンスでは8時間ごとに、別のインスタンスでは1時間ごとにジョブを実行することになります。
構成を変更する必要があることを両方のインスタンスに通知する方法はありますか?