Quartz.Net - 提供自己的DateTimeService
问题描述:
我有一个应用程序正在使用基于时间的quartz.net,即某些作业在某些时间点执行。现在为了测试的目的,我想在托管服务器上花时间来证明所有的工作都是按照预期进行的。我遇到的问题是我们的公司网络上无法提前发布时间,所有服务器都是同步的。Quartz.Net - 提供自己的DateTimeService
我想要做的是创建一个DateTimeService,我的应用程序可以随时使用它来获取当前的日期时间。对我来说听起来不错,问题在于反正我可以让quartz.net使用这项服务?
任何意见将不胜感激。
答
恕我直言,你可以更换FUNC代表在静态类SystemTime
:通过设置
SystemTime.UtcNow =() => new DateTime(2011,1,2);
https://github.com/quartznet/quartznet/blob/master/src/Quartz/SystemTime.cs
设置为静态的时间,或用FUNC委托来代替它你的服务。
附加信息:您需要重新编译quartz.net才能做到这一点。 SystemTime类不是被注入的,而是被用作静态的。 – yorah
SystemTime是一个委托,因此您可以将其替换为另一个委托而不用重新编译,即使它是一个静态函数指针,您可以让它指向任何地方。 – Andreas