2009-05-08 1 views
1

クライアントからこの質問を受け、期間の種類に応じて、毎日または隔週でデータベーススクリプトを実行します。彼らは「忙しい」期間と「静かな」期間を定義しています。彼らはアプリケーション用に共有ホスティングを使用しており、SQL Serverジョブをデータベースに追加することはできません。Windowsサービスをスケジューリングサービスとして使用する

私がしたいことは、異なるピリオドとその間隔を含む設定ファイルを使用して構成可能なWindowsサービスを作成することです。 このサービスは、構成ファイル内の現在の日時とスケジュールされた期間を確認しており、間隔が一致するとSQL Serverストアドプロシージャを実行します。

質問:この種類のスケジューリングをSQL既存のより一般的な(無料の)ソリューションがすでに存在するかどうかを知っていますか?

[編集] Windowsタスクスケジューラは静かな期間が冬の間にあり、忙しい期間が夏の間であるため、私は使用できません。タスクスケジューラでは、スケジュールされたタスクを手動で年に2回修正する必要があります。それは今も私のクライアントが望むものです。 [/編集]

おかげ

+0

サーバーにはタスクスケジューラがありますか? – Anonymous

+0

はい、私の編集を参照してください – Peter

答えて

2

Windows Task Schedulerが常にあります。サービスをインストールすることが許可される理由はありますか?しかし、組み込みのスケジューラーを利用することはできません。

+0

タスクスケジューラは、日付を設定できればいいですが、1つの間隔しか指定できません。私は毎年異なるスケジュールを管理したくありません。私はメンテナンスなしで動作するソリューションを配置したい... – Peter

+0

その後、毎日タスクスケジューラからSPを実行します。 SPは、日付を見て、それが静かな期間であると判断し、最後に実行されてから14日以上経過していない限り、すぐに終了することができます。 –

+0

...または週に2回。私はその意味について知らなかった(そして私はブリットだ)。 http://en.wiktionary.org/wiki/biweekly –

1

キャッスルプロジェクトには、キャッスルコンポーネントの一環として、ほとんどの方法が用意されています。

http://www.castleproject.org/

+0

http://www.castleproject.org/components/sitemap.htmlそれはない。 私はメインページでそれを見ることができますが、安定版nrがリストされていないので、まだ完成していないと思います。 – Peter

1

は、あなたはそれが必要とされるたびに、いくつかのコンソールアプリケーションを起動するには、Windowsの「スケジュールされたタスク」機能を使用することができます。

独自のスケジューリングソリューションを作成する場合は、Windowsタスクスケジューラと同じ柔軟性を備えたQuartz.NETを参照することをおすすめします。

+0

私はQuartzをチェックアウトします。有望です。 – Peter

1

なぜタスクスケジューラを使用しないと、アプリケーションが起動するたびに、何かをする必要があるかどうかを決める独自のスケジュールがチェックされます。

タスクスケジューラを使用して15分ごとにアプリケーションを起動できます。アプリケーションの起動時には、独自の設定ファイルを使用して、何か処理が必要かどうかを判断します。

これを使用して、現在実行中のアプリケーションのバージョンを停止し、長時間実行されているタスクを停止することもできます。

関連する問題