我环顾四周,找不到使用Quartz(或任何类似的作业调度程序)和ServiceStack的可靠的最新参考。我想做以下事情:
以这种方式在带有调度程序的Windows服务中使用ServiceStack是否有意义?有更好的安排吗?如果它有效,我如何在ServiceStack中运行Quartz?
我脑子里有很多不同的想法,但需要帮助整理一个有凝聚力的计划,所以非常感谢任何帮助。
答案 0 :(得分:3)
您可以使用由ServiceStack.Quartz友好制作的wwwlicious。
答案 1 :(得分:2)
一个出色的工作调度程序是Hangfire(Hangfire.io)。个人喜欢它比石英更多。
使用servicestack附带的现有IoC Funq容器注入Hangfire并不容易。但请看一下这个question & answer
答案 2 :(得分:2)
我在这里参加派对有点晚了,但我处于同样的境地。我无法想到为什么在Self Hosted ServiceStack应用程序中实现Quartz Scheduler会是一个坏主意。
我很快创建了一个将Quartz Scheduler与ServiceStack Funq IoC集成的库,它基本上允许您使用ServiceStack设置Quartz:
//// 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 Scheduler。
我提供了一个如何在这里使用的示例: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/