1

バックグラウンド処理を実行する ac# Windows サービスを作成しています。基本的には、ワーク キューのコンシューマです。

ダウンしない (新しいアイテムの処理を停止する) 必要があり、ダウンした場合は通知を受ける必要があります。

a) そのようなサービスが可能な限り信頼できるようにするため、および b) 何か問題が発生した場合に通知を送信するための設計ガイドラインと考慮事項は何ですか? たとえば、ワーカー スレッドがまだジョブを処理していることを確認するだけのウォッチャー スレッドを作成することを検討しました。

4

2 に答える 2

1

信頼性を向上させ、ニーズを満たすソリューションがあるかどうかを判断するために、ここで実行できることがいくつかあります。

テスト

ただし、何よりもまず、実行するテスト プロセスは非常に堅実なものである必要があります。これらの「予期しない」状況、ネットワーク接続の喪失などをテストします。それらをテストしていることを確認し、何が起こっているかを確認してください。失敗の通知は、ちょっとした "混合バッグ" になる可能性があります。たとえば、ネットワーク接続が利用できない場合、自分自身に電子メールを送信することはできません。

適切なコード設計

有効なテスト シナリオを設定することに加えて、コードが可能な限り防弾であることを確認してください。Windows サービスを作成しているため、あたかもエラーが泡立つかのように、可能なすべてのエラーをキャプチャ、ログ記録、および処理していることを確認してください。 OSまで、あなたのサービスはダウンします。

モニタリング

監視を導入することを検討してください。私の日常業務では 2 種類の監視を使用しています。場合によってはエラーが Windows イベント ログに報告され、Microsoft MOM を使用して環境内で発生しているすべての問題を通知します。使用する 2 番目のプロセスは、重要なジョブが「開始済み」状態にあることを X 分ごとに検証する 2 番目のスケジュールされたジョブです。開始済み状態でない場合は再開始します。エレガントではありませんが、機能します。

于 2010-04-06T14:38:47.070 に答える
0

システム管理者がサービスが展開されているマシンを監視し、適切なアクションを実行するために使用している可能性のあるMOMおよび/またはSolar Windsまたはその他の監視アプリケーションだと思います(電子メールの送信、電話の呼び出し:)

于 2010-04-06T14:45:26.250 に答える