NServiceBusを使用してタスクをスケジュールする洗練された方法はありますか?私が見つけた1つの方法がありますが、searching the netです。 NServiceBusはスケジューリングのための内部APIを提供しますか?NServiceBusを使用して毎日実行するタスクをスケジュールする方法
答えて
NServiceBusは今、これはそれを使用しない
注
public class ScheduleStartUpTasks : IWantToRunWhenTheBusStarts
{
public void Run()
{
Schedule.Every(TimeSpan.FromMinutes(5)).Action(() =>
Console.WriteLine("Another 5 minutes have elapsed."));
Schedule.Every(TimeSpan.FromMinutes(3)).Action(
"MyTaskName",() =>
{
Console.WriteLine("This will be logged under MyTaskName’.");
});
}
}
http://docs.particular.net/nservicebus/scheduling-with-nservicebusここから警告
が組み込まれています。スケジュールされたタスクは決して単純なものとして見ることはできません。 エンディングサガ。しかし、あなたの仕事が少しの論理を得るようになるとすぐに、 (if-/switch-statements)はあなたがサガに移ることを考慮する必要があります。
うわー!この投稿に感謝します – frictionlesspulley
これは私のために働いた...とにかくしばらくの間。それから、ある日は生産に失敗し、スケジューラは残りのバスが稼働していても2日間ダウンしました。 NSBのエラーメッセージは記録されませんでした。だから今私は代わりにQuartz.NETを使用して探しています。どうやらこれは既知の問題です... http://stackoverflow.com/q/23732174/61697 – demoncodemonkey
@demoncodemonkey https://github.com/Particular/NServiceBus/issues/2133で修正された既知の問題です。しかしクォーツ。NETは完全に有効な代替品です – Simon
注:この回答はNServiceBusバージョン2.0で有効でしたが、もはや正しいものではありません。バージョン3にはこの機能があります。サイモンの答えを読んでください、それはバージョン3に有効です!
NServiceBusには、スケジューリングシステムが組み込まれていません。これはメッセージプロセッサー(非常に単純なレベル)です。
IWantToRunAtStartup(実行と停止のメソッド)を実装するクラスを作成し、そこからタイマーを作成するか、特定の時間にメッセージをバスにドロップするために必要なロジックを実行できます。
他の人々は、より細かいスケジューリング機能を得るためにNServiceBusと共にQuartz.NETを使用しました。
メッセージングのためにNServiceBusを使用するまでは、他のサービスのスケジューリングにQuartzを使用しました。これは、私がQuartzスケジューラが無効になった後に、スケジュールを立てる必要がある最初の時間です。 – frictionlesspulley
私はQuartzを使用して1時間ごとにジョブをトリガし、そのジョブはただイベントを公開しました...サービスはIWantToRunAtStartupでRun&Stopメソッドを利用しました。ここは良いスタートですhttp://stuartcullinan.blogspot.com/2010/12 /building-nservicebus-timeout-manager.html、btw、[NServiceBusContrib](https://github.com/nservicebus/nservicebus-contrib)をチェックしてください – Sarmaad
この回答はもう間違いです。 – Simon
- 1. Rufus Schedulerを使用して毎日ジョブをスケジュールする方法
- 2. Java - 毎日のタスクをスケジュールする
- 3. 毎時のタスクをスケジュールする方法
- 4. APEXを使用して毎日スケジュールされたジョブを実行
- 5. 毎月1日に実行され、Firebaseリアルタイムデータベースの値を更新するタスクをスケジュールする方法
- 6. SQLクエリを毎日実行するようにジョブをスケジュールする方法は?
- 7. 毎日実行する方法をスケジュールすることは可能ですか?
- 8. 毎週実行するcronジョブをスケジュールする方法
- 9. Google Appengine:1日に1回実行するタスクをスケジュールする方法
- 10. 毎日のタスクを実行しているNodejs
- 11. タスクスケジューラ:ログイン時に実行するタスクをスケジュールする方法
- 12. schtasksコマンドによる毎日のスケジュールされたタスク次の実行の問題
- 13. AWSサービスを使用して長時間実行するタスクをスケジュールする
- 14. メソッドを毎日実行するようにC#Windowsサービスをスケジュールする方法を教えてください。
- 15. sailsjsでスケジュールされたタスクを実行する方法
- 16. スケジュール毎日深夜0時に実行するアジェンダジョブ
- 17. IBM Bluemixで毎日実行する単純なPythonスクリプトのスケジュール
- 18. joomlaのスケジュールされたタスクは毎秒実行されます
- 19. スケジュールを実行するWindowsタスクを使用して毎日異なる名前でExcelファイルをエクスポートするForeachループ
- 20. Railsプロジェクトで毎日のタスク/スクリプトを実行するには?
- 21. 毎週日曜日にcrontabジョブを実行する方法
- 22. Laravelスケジュールは、私は毎日または毎時間、スケジュールを実行することはできません
- 23. タスクをスケジュールする正しい方法
- 24. SQLスケジュールを使用したSSISの毎月の実行
- 25. ユーザが提供した時刻に毎日Linuxカーネルモジュールのタスクをスケジュールする
- 26. 毎日午前8時に振動してタスクを実行する方法はありますか?
- 27. 毎月1日に実行されるスケジュールされた機能
- 28. 毎日実行するジョブスケジューラ
- 29. iOS - タスクをスケジュールする - 実行していない状態
- 30. python - 毎月の最終日に実行するように関数をスケジュールする方法は?
私たちはその方法を使い、うまくいきます。どのような処理をしていますか?あなたは代わりにサガを必要とするかもしれません。 –
私は同じ方法を使用しようとしています。しかし、私はスケジューラの実装でバスの参照を取得する方法を把握することができません。 – frictionlesspulley
面白い私は同じ問題があった。私はバスのインスタンスを明示的にコンテナに要求してしまいました:IBus bus = Configure.Instance.Builder.Build();.これが質問に答えると、回答として編集して投稿します。 –