繰り返し実行するようにコードをスケジューリングするため、Windowsのタスクスケジューラは、どのように信頼性はありますか?

StackOverflow https://stackoverflow.com/questions/722678

質問

私は、Windows Server 2003マシン上に座ると、毎分を実行するために必要なコードのビットを持っています。

この取り扱いの推奨方法は何ですか?それは、コンソールサービスとして、それを設計するだけタスクスケジューラが今までの分をそれを直撃しているOKですか? (あっても可能ですか?)私はちょうどそれを吸うと、Windowsのサービスとしてそれを書くべきですか?

役に立ちましたか?

解決

それはひとつひとつの分を実行する必要があるので、私は、Windowsサービスを書いてお勧めします。それは非常に複雑ではなく、あなたが前にこれをしたことがない場合は、それがどのように行われるかを学習するために、それは素晴らしいことだ。

毎分は私が推薦するものではありませんスケジュールされたタスクを呼び出します。

他のヒント

私はそれを吸うと、Windowsのサービスとしてそれを書くと言うでしょう。私は非常に信頼性が高いことがスケジュールされたタスクを見つけていませんでしたし、それが実行されないとき、私はそれはしていない理由を見つけるための簡単な方法を見つけるためにまだ持っています。

Windowsスケジュールタスク我々の目的のために、かなり信頼性があったと我々は、その設置のしやすさと高度なリカバリ機能をWindowsサービスオーバーのほぼすべてのケースでそれらを支持しています。書かれたコードの一部がロックアップするか、であってはならないコードの一部にループばかりアップを終了した場合、常にWindowsサービスの性質上の問題になってしまう可能性がある。我々は、一般的に私たちのコードを書きますこれと同様の方法

Init();
Run();
CleanUp();

は、次にスケジュールされたタスクの一部として、我々は、プロセスが実行され、それが長いために実行されている場合、それはプロセスを殺すことができますどのくらいの時間制限を置きます。我々はトラブルスケジュールされたタスクがそれを殺すだろうし、プロセスは次の分で起動します持っているコードの部分を持っている場合。

あなたはそれが分ごとに実行させる必要がある場合は、

、私は、Windowsサービスとしてそれを構築します。私は、毎日のタスクより少ない何のためのスケジューラを使用することはありません。

私はそれが何をしていたかによって異なりますが、一般的に、私は最も少ない層を有するの賛成で常にだと言うでしょう。コンソールサービスとしてそれを書いて、タスクスケジューラを使用している場合、あなたは今後維持するには、2つの場所を持っています。

Windowsサービスとしてそれを記述する場合、

そして、あなただけの何かがうまくいかない場合にチェックするための1つ少なくな場所を持っています。

スケジュールされたサービスのヘルプを探している間、

、私はのhref = "http://weblogs.asp.net/jgalloway/archive/2005/10/24/428303.aspx?CommentPosted=true# <非常に良いに出会いましたcommentmessage」のrel = "nofollowをnoreferrer">ジョン・ギャロウェイでの記事。

Windowsサービスは、スケジュールされたタスクのために使用されている場合は、

様々なdiadvantagesがあります。私はそれに同意しました。私は、実装にスケジュールされたタスク、シンプルを使用することをお勧めします。 タスクスケジューラを実装の詳細情報を参照してください。この情報は、実装アプローチを最終決定するのに役立ちます願っています。

考慮すべき唯一の他のポイントは、あなたがしている場合、ジョブがあなたのデータベースが提供する統合/スケジュールサービスに探して検討し、データベースとの対話のいくつかの種類を含むことです。

たとえば、あなたのSQL Server関連のサービスのためのSSISパッケージを作成することは少しやり過ぎのように思えるかもしれないが、それは環境とうまく統合することができ、所定の位置にすでにメカニズムをチェックし、独自のロギング/エラーを持つことになります。

私はそれもコンソールの実行可能ファイルを作成し、それが毎分実行するようにスケジュールするための努力の廃棄物の一種で、同意するものとします。私は Quartz.Net のようなものを探求お勧めします。そのようにあなたは、単純なジョブを作成し、毎分実行するようにスケジュールすることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top