2012-03-05 13 views
1

私は、ASP.NET MVC 3アプリでスケジューリングされたタスクを非常に大量(100〜300)処理するための最も効率的で堅牢な方法に関するアドバイスを探しています。ASP.NET MVC 3を使用して100のスケジュールされたタスクを処理する方法は?

ユーザーは基本的にアカウントを作成でき、指定した時刻に週または日に1回実行される複数のタスクを作成できます。タスクがやっていることは現時点では無関係ですが、議論のために予定されているツイートシステムだと言いましょう。

これらのタスクはそれぞれDBに格納されますが、同時に数百回または数百回も同時に起動できます。

これまで、私は5~10のタスクを実行していると言いましたが、サーバで「タスクスケジューラ」を使用して一貫性のある堅牢な方法でタスクをトリガしましたが、今は100のものに移行しようとしています私はタスクスケジューラにもう依存できないので、ASP.NET MVC 3を使用するだけで、この種のシステムをどのように処理するかについての確かなアドバイスがあります。 コメントやアドバイスをいただければ幸いです。

答えて

3

私はこれを処理するWindowsサービスを作成することをお勧めします。このようにして、Webアプリケーション(主にユーザーインターフェイスです)とは独立しています。

共有ホスト上にいるので(Windowsサービスの設定にアクセスできない)、すべてのスケジューラ関連(quartz.netやカスタムソリューションのようなライブラリを使用しています)、私はラップするのが最善だと思いますおそらく静的変数に格納されたシングルトンインスタンス。

関連する問題