私は現時点では大きなasp.netのWebサイトで作業しています。いくつかのレポートをスケジュールして週に1回または毎月メールで顧客に送信したいと考えています。私は、Windowsサービスを使用し、タイマーを使用することを考えています。これは最善の選択ですか?予定時刻の電子メールレポート
1
A
答えて
1
私は個人的にタイマーを使用しませんが、私はWindowsサービスが最良の選択だと思います。
これを処理する方法は、メインサービスの作業ループを1/2秒間アイドル状態にしてから、レポートを実行する必要があるかどうかを確認することです。
この設計では1つの非常に重要な考慮事項:あなたのサービスをクラッシュから単一のレポートを防ぐために、あなたは物事のカップル行う必要があります。
1)は、別のスレッド内のすべてのレポートを実行します(backgroudworkerを使用するか、またはあなたの管理自分のスレッド)。
2)一度に特定の数のレポートのみを開始してください。あなたのループでは、実行中のレポートを追跡し、停止したときに次のレポートを開始します。最大数は、レポートの強度とサーバーの容量によって異なります。
1
あなたはhttp://hangfire.io« からファイア・アンド・フォーゲット、遅れや定期的なタスクのASP.NETアプリケーションの内部 を実行するための簡単な方法をHangfire
説明を使用することができます。 Windowsサービスは必要ありません。永続的なストレージ。 オープンで商用利用のため無料。 »
それはあなたがこのようなタスクをスケジュールしてみましょう:MyReport.Run()
レポートをレンダリングし、電子メールで送信するの世話をする静的メソッドである
RecurringJob.AddOrUpdate(() => MyReport.Run(), Cron.Weekly(DayOfWeek.Monday));
を。
関連する問題
- 1. jenkins nightwatch電子メールレポート
- 2. cruisecontrolからの電子メールレポート?
- 3. テスト失敗のハドソン電子メールレポート
- 4. AppleScript、予定時刻
- 5. パスワードリカバリ用の電子メールの時刻を設定する
- 6. 電子メールテンプレートでの日付時刻の書式設定
- 7. Djangoのユーザーに電子メールレポートをスケジュールする最良の方法
- 8. Internet Explorerオープン予定時刻javascript
- 9. OpenShift Online v2廃止予定時刻
- 10. SQL:DATETIME()なしのNOW()より後の予定日時および予定時刻
- 11. mongoDB aggregate()電子メールオブジェクトのコレクションの電子メールの時刻を取得する
- 12. log4jを使用してSMTPAppender経由で電子メールレポートを送信
- 13. アポイントアイテムの予定時刻と予定時刻を作成するにはどうすればいいですか?
- 14. fecha.js - 日付/時刻、特定の時刻
- 15. 予定時刻にダブルクリックを設定する
- 16. Prometheus Alert Managerで日付/時刻を入力する電子メール
- 17. SharePoint予定表の終了時刻の列とワークフローの更新
- 18. Wordpressでの予定フォームのカスタム日付と時刻
- 19. ブラックベリーで予定時刻の通知をプッシュする方法
- 20. 現在時刻の前に予定を許可しない
- 21. 現在の予定時刻を確認する
- 22. 電子:電子ビルダー設定
- 23. ROOTED電話のシステム時刻を設定する
- 24. 特定の時刻にアンドロイド電話プロファイルモードを起動する
- 25. Android:予定時刻より前にアラームが発生する
- 26. スケジューリング予定時刻にスパイダーをクロールする
- 27. PendingIntent.getService()アラーム予定時刻前にIntentService onHandleIntentを呼び出す
- 28. Schedule :: Cronで予定時刻を変更する
- 29. 予定時刻にタイマーが呼び出されない
- 30. 電子メールのxtableに日付/時刻形式を保持する方法
これをReporting Services(SSRS)でタグ付けしました.SSRSがインストールされていますか?これには機能がありますが、オプションとして興味があるかどうかはわかりません。すでにSSRSインスタンスがインストールされている場合は、これを使用してください。そうでなければ、それは価値がないかもしれません。 –