私は、Windows サービスまたはスケジュールされたタスクとして実行される多くのアプリケーションに取り組んできました。
今、私はこれらのアプリケーションがフォールト トレラントで信頼できるものであることを確認したいと考えています。例えば; 私は毎時間実行するサービスを持っています。動作中または実行中にサービスがクラッシュした場合、データの損失を避けるために、同じ期間にアプリケーションを再度実行する必要があります (これには、データ処理のトランザクションを含むいくつかの事柄が関係しています)。さらに、プログラムがエラーを詳細に報告するようにします。私の目標は、データの損失を回避し、プログラムの実行に遅れをとらないようにすることです。
ユーザーがプロジェクトにインポートできるクラス ライブラリを作成しました。ライブラリは、プログラムの実行中のインスタンスの情報を保持することになっています。プログラムは、実行間隔、実行ステータスなどの情報を読み書きします。このデータはデータベースに保存されます。
スケジュールされたタスク/ Windows サービスを耐障害性と信頼性を高めるためのベスト プラクティスがあるかどうか、私は興味がありました。
編集:異なるサーバー上にある独立したタスクまたはサービスについて話しています。私の目標は、サービスが実行され続け、障害があれば報告し、それらから回復できるようにすることです。