Windowsサービスをスケジューリングサービスとして使用する
-
22-07-2019 - |
質問
期間のタイプに応じて、毎日または隔週でいくつかのデータベーススクリプトを実行するために、クライアントからこの質問があります。彼らは「忙しい」期間と「静かな」期間を定義しています。彼らはアプリケーションに共有ホスティングを使用しており、データベースにSQL Serverジョブを追加できません。
やりたいことは、さまざまな期間と間隔を含む設定ファイルを使用して設定可能なWindowsサービスを作成することです。 このサービスは現在の日時と設定ファイルのスケジュール期間をチェックしており、間隔が一致するとsqlサーバーストアドプロシージャを実行します
私の質問:SQLサーバーなしでこの種のスケジューリングを行うより良い方法はありますか、既存のより一般的な(無料の)ソリューションがすでに存在するかどうか知っていますか?
[編集]
Windowsタスクスケジューラを使用できないのは、静かな期間が冬であり、忙しい期間が夏であるためです。タスクスケジューラを使用すると、年に2回、スケジュールされたタスクを手動で変更する必要があります。それが今私も私のクライアントも望むものです。
[/編集]
ありがとう
解決
Windowsタスクスケジューラが常にあります。サービスのインストールは許可されているが、組み込みのスケジューラを利用できない理由はありますか?
他のヒント
Castleプロジェクトには、Castleコンポーネントの一部として、ほとんどの方法があります。
「スケジュールされたタスク」を使用できます。必要に応じてコンソールアプリケーションを起動するWindowsの機能。
独自のスケジューリングソリューションを作成する場合は、 Quartz.NET <をご覧になることをお勧めします。Windowsタスクスケジューラと同じ柔軟性を提供します。
タスクスケジューラを使用しないのはなぜですか?アプリケーションを起動するたびに、独自のスケジュールをチェックして、何かをする必要があるかどうかを判断します。
タスクスケジューラを使用して、15分ごとにアプリケーションを起動できます。アプリケーションは、起動時に独自の構成ファイルを使用して、何かを行う必要があるかどうかを判断します。
これを使用して、アプリケーションに現在実行中のバージョンのアプリケーションを停止させ、長時間実行中のタスクを強制終了させることもできます!