2012-03-13 13 views
6

ASP.NETで実行されているいくつかの種類のバックグラウンドワーカーを実装しましたが、推奨/ベストプラクティスのアプローチが何であるか疑問に思っています。ASP.NET 4.0-バックグラウンドワーカー - ベストプラクティス

データストア(この場合はmongo db)には、処理する必要があるアクションのキューがあります。

キューは、ASP.NET MVCアプリケーション内の特定のアクションによって大きくなります。

これらのキュー項目を連続的に処理するバックグラウンドスレッド/ワーカースレッドを開始したいとします。

アプリの開始イベントでバックグラウンドワーカーを開始するのと同じくらい簡単ですか、それともタイマーで終了する必要がありますか?

事前のおかげで

SAM

+4

これまで何をしていたのですか?http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx – labroo

+0

ありがとう - 私は思った答えだったでしょう。ベストプラクティスではなく、うまく管理されていれば、十分に堅牢に働くことができ私が読んだところでは、一般的なコンセンサスはバックグラウンドプロセスをWindowsサービスとしてホストすることです - いくつかの状況では明らかに実用的ではありません。あなたのリンクは良い例を与えました。 – sambomartin

答えて

2

私はジョブスケジューリングのためのhttp://quartznet.sourceforge.net/index.htmlを使用して、それで素晴らしい運を持っていました。

+0

提案rboarmanありがとうが、それは私のために少し過剰です。 – sambomartin

+0

+1私は、Windowsサービスでクォーツを使用します。非常に迅速なセットアップと柔軟なスケジューリング。 – gdp

1

私は最高の答えはHaackedのこの記事ですと思います。概要IISで

The Dangers of Implementing Recurring Background Tasks In ASP.NET

Webサーバを駆動要求です。つまり、誰もあなたのウェブサイトに当たっていなければ何も起こりません。あなたはそれを回避することができますが、堅牢なバックグラウンドタスクが必要な場合は、Windowsサービスが推奨されます。

関連する問題