2015-11-13 38 views
3

我環顧四周,並沒有找到關於使用Quartz(或任何類似的作業調度程序)與ServiceStack一個穩定的,最新的參考。我想做到以下幾點:如何在ServiceStack中實現Quartz

  • 運行石英或類似的調度服務(以避免IIS問題)
  • 我們的項目採用ServiceStack,所以我想用它來對國際奧委會熟悉的模式,等

在這種方式使用調度程序的Windows服務ServiceStack是否有意義?有更好的安排嗎?如果它起作用,我該如何在ServiceStack中運行Quartz?

我在腦海中有很多不完整的想法,但需要幫助把一個有凝聚力的計劃放在一起,所以任何幫助都非常感謝。

+0

嘿,我在考慮我的移動已經存在的調度服務爲ServiceStack爲好。你有沒有試過這個?你是如何繼續使用它的? –

回答

1

一個偉大的工作調度是Hangfire(Hangfire.io)。個人喜歡它比Quartz更多。

使用現有的服務堆附帶的IoC Funq容器注入Hangfire並不容易。但看看這個question & answer

1

我對這裏的派對有點遲,但我處於同樣的情況。我想不出爲什麼在自託管ServiceStack應用程序中實現Quartz Scheduler是一個壞主意。

我迅速做了Quartz調度與ServiceStack Funq的IoC這基本上可以讓你設置你的Quartz與ServiceStack與集成庫:

//// This method scans the assembly for the Jobs 
container.RegisterQuartzScheduler(typeof(HelloJob)); 

//// Resolve the Quartz Scheduler as normal 
var scheduler = container.Resolve<IScheduler>(); 

//// Start Quartz Scheduler 
scheduler.Start(); 

你將能夠使用Quartz調度爲你通常會。

我提供的如何才能在這裏使用一個例子:https://github.com/CodeRevver/ServiceStackWithQuartz

的NuGet是在這裏:https://www.nuget.org/packages/ServiceStack.Funq.Quartz/

正如我所說的,我這樣做是在幾個小時,看它是否會適合我目的。如果你想修改它來做你想做的事情,請隨時修改它。

如果你有興趣,我對在這裏寫一篇博客文章吧:http://michaelclark.tech/2016/04/16/creating-a-servicestack-windows-service-that-uses-quartz/