2011-01-24 8 views
1

私はいくつかの重要なクォーツイベントが夜の特定の時間に離れる必要があります。最近私は、すべてのイベントが実行されているわけではないことに気づいています。私は一晩サーバーの負荷が非常に軽い(すなわちゼロユーザー)、Webサーバーの種類がスリープ状態になるという気持ちがあり、Quartzも同様です。これは妥当と思われますか?私はWebサーバー内でQuartz.netを使用していますが、別のサービスとしては使用していません。軽くロードされたサーバー上のクォーツ

答えて

1

はい、そう考えられます。一般に、IISに予定されたタスク、つまりWindowsサービスの方がより良い仕事、またはWindows Server 2008の方がはるかに改善された組み込みのWindowsスケジュールタスクを実行させることは悪い習慣と考えられます。

負荷がないため、ワーカープロセスがシャットダウンされている可能性があります。既定では、IISは要求を出さずに20分後にワーカープロセスをシャットダウンします(これはアプリケーションプール設定で変更できます)。また、ワーカー・プロセスは、特定の時間または要求の後に再起動される可能性があります。

特定の問題のクイックフィックスは、Windowsタスクスケジューラを使用してサイトを定期的に有効にしたり、あらかじめ定義された時間にタスクをトリガするURLを要求したりすることがあります。

+0

非常に興味深い。このワーカープロセスを24時間延長することで、信頼できる回避策を検討できますか? –

+0

@Julie、いいえ、私はそれをお勧めしません。サイトを存続させる予定のタスクは、より信頼性が高くなければなりません。 – driis

+0

Txこれまでのアドバイス... 10分ごとに自分のサイトへのダミーコールをスケジュールするのが回避策であることを意味します。例えば。 /index.htmlを10分ごとに呼び出し、少なくとも何も眠らないでしょうか? –

0

デフォルトでは、ASP.Netは一定期間使用しないとAppDomainをシ​​ャットダウンします。

推奨されるアクションは、WindowsサービスまたはWindowのスケジュールされたタスクから起動された実行可能ファイルのいずれかのタイミングイベントを実装することです。

IIS構成を変更して、AppDomainをシ​​ャットダウンしないようにすることもできます。これがどの程度正確に達成されるかは、IISのバージョンによって異なりますが、検索によって簡単に指示を見つけることができます。

関連する問題