私のウェブサイトに10分ごとに多数の計算を行い、その結果でデータベースを更新したいと考えています。どのように正確にそのようなタイマーを設定すれば、私はそれがglobal.asaxにあると仮定していますか?asp.netで自動 "ジョブ"を実行するには?
答えて
はどこかに難しく、不可能に不安定との間にあります。 Webアプリケーションは、単純にノンストップで実行されるのではなく、要求に応答するためのものです。
10分ごとに実際に計算する必要がありますか?私は、ほとんどの場合、誰かがこのような質問をすると、一定の間隔で何かを実行する必要があることが分かりましたが、結果を見るためにページを訪れる人がいない限り、結果は本当に必要ありません計算される。
これが当てはまる場合は、前回の計算がいつ行われたかを常に把握するだけで、すべてのリクエストに対して、再計算に十分な時間がかかっていないかチェックする必要があります。
あなたは独立した非UIアプリケーションを作成し、そのスケジュールされたタスクとして実行したほうが良いと思います。
cagdasのキャッシュソリューションが回答します。私はそれを使用しました。欠点は、何らかの理由でタイマーを停止する必要がある場合は、電源を切ることが難しいことです。代わりに、私たちが使用した全く同じソリューションはありません。 SQL Serverの
- スケジュールされたタスク。その厳密なデータベース計算IFS
、データベースに保管してください。必要な処理を行うストアドプロシージャを作成し、SQL Serverエージェントでそのプロシージャをスケジュールに従って実行させます。
私は本当にschecduledタスクが嫌いです。私はむしろ窓のservicにこの機能を入れ、それにタイマーを投げます。ウィンドウサービスを使用すると、非常にうまくストップイベントを処理できます。私は他のみんなに同意します、ウェブサイトはこれのための場所ではありません。 Webアプリケーションでそのような何かをやって
サービスはいつでもスケジュールされたタスクよりも面倒なようです。サービスとは、「待つ」もののためのものです。 –
別にスケジュールされたタスクを実行するためのWebアプリケーションの不安定性について(正しい)の文から、ここにあなたが実装できる戦略です:Global.asaxの中
、タイマーを作成するapplication.onstartイベントを定義します。
var dueTime = 5000;
var period = 5000;
var MyTimer = new Timer(new TimerCallback(MyClass.MyTaskProc), null, dueTime, period);
Application["MyTaskTimer"] = MyTimer;
これは、タスクを作成してからアプリケーションを終了するときに再起動する処理を行います。
- 1. SQL Server 2016の自動実行ジョブ
- 2. talendで失敗したジョブを自動的に再実行するには?
- 3. ASP.NETでの自動コード実行
- 4. M2E CronジョブがMagentoで自動的に実行されない
- 5. SQL Serverジョブはスケジュールされたジョブで実行中にエラーで終了しますが、手動でジョブを実行するとうまく動作します。
- 6. ジョブの送信を自動化してApache flinkで実行する方法
- 7. パラメータ化されたJenkinsジョブを自動的に実行する方法
- 8. 実行時にPowerShellジョブから自動的にデータを引き出す
- 9. 実行中の同様のOozieジョブの自動制御
- 10. 避け自動実行中のジョブここ10.6.1.3
- 11. 各SSISジョブは、自身のAppDomainで実行されますか?
- 12. Sidekiqは他のジョブが実行された後にジョブを実行します
- 13. ASP.net c#Webアプリケーションを自動的に実行
- 14. 自動実行
- 15. 起動時に自動的にスクリプトを実行するには?
- 16. asp.net mvc 4 WebアプリケーションからSQLジョブを実行する
- 17. プレイブックを自動的に実行する
- 18. 自動実行スクリプトに手動で操作する方法は?
- 19. cronジョブは、私は5分ごとに実行するcronジョブを持って
- 20. Cronジョブを実行する
- 21. C#ファイルの変更後に自動的にasp.netコアアプリケーションを実行する方法
- 22. Jenkinsジョブを同時に実行するジョブを分割する
- 23. cPanelでcronジョブを実行してPythonファイルを起動する
- 24. gitは自動的に "フェッチ"を実行するのですか?
- 25. は自動実行方法
- 26. GroovyベースのジョブDSLから初期パイプラインを実行/実行するには
- 27. 実行するcronジョブがでcrontabジョブを実行</p> <p>...
- 28. バックグラウンドでジョブを実行
- 29. SQLジョブをジョブに実行させる方法は?
- 30. フラッシュビルダーでスクリプトを自動的に実行
私は同意します。 Webサーバーは、スケジュールされた時間に機能を実行するのではなく、ページを提供するためのものです。理由がない限り(サーバーへのアクセス不足など)、サービスでなければなりません。 –
Windowsサービスは、誰かがログインしているかどうかにかかわらず、常に実行する必要がある場合は、時計を起動する必要があります。 –
@ marc_s - 誰もマシンにログインしていないときにスケジュールされたタスクを実行するように設定することができます。 – ChrisF