信頼性を向上させ、ニーズを満たすソリューションがあるかどうかを判断するために、ここで実行できることがいくつかあります。
テスト
ただし、何よりもまず、実行するテスト プロセスは非常に堅実なものである必要があります。これらの「予期しない」状況、ネットワーク接続の喪失などをテストします。それらをテストしていることを確認し、何が起こっているかを確認してください。失敗の通知は、ちょっとした "混合バッグ" になる可能性があります。たとえば、ネットワーク接続が利用できない場合、自分自身に電子メールを送信することはできません。
適切なコード設計
有効なテスト シナリオを設定することに加えて、コードが可能な限り防弾であることを確認してください。Windows サービスを作成しているため、あたかもエラーが泡立つかのように、可能なすべてのエラーをキャプチャ、ログ記録、および処理していることを確認してください。 OSまで、あなたのサービスはダウンします。
モニタリング
監視を導入することを検討してください。私の日常業務では 2 種類の監視を使用しています。場合によってはエラーが Windows イベント ログに報告され、Microsoft MOM を使用して環境内で発生しているすべての問題を通知します。使用する 2 番目のプロセスは、重要なジョブが「開始済み」状態にあることを X 分ごとに検証する 2 番目のスケジュールされたジョブです。開始済み状態でない場合は再開始します。エレガントではありませんが、機能します。