【发布时间】:2017-01-18 17:14:15
【问题描述】:
是否可以在 Quartz.net 中从 lambda 创建作业?
我有很多任务需要运行,我真的很想避免为每个工作创建几十个类。我不需要任何高级设置,我只需要时不时地调用一个方法。
scheduler.ScheduleJob(() => DoSomething(a), TimeSpan.FromSeconds(10));
scheduler.ScheduleJob(() => DoAnotherThing(b), TimeSpan.FromSeconds(20));
scheduler.ScheduleJob(() => DoThis(c), TimeSpan.FromHours(2));
scheduler.ScheduleJob(() => DoThat(d), TimeSpan.FromMinutes(30));
...
我会为此创建一个扩展方法,但似乎每个作业都需要它自己的类型才能创建 IJob,这使事情变得比应有的困难。
关于如何实现这一点的任何想法?
【问题讨论】:
-
顺便说一句,
() => Foo(),相当于只写Foo。括号取消 -
@Natan Quartz.Net中没有这个东西,需要自己写。也许JobFactory 可以帮助您实现这一目标。
标签: c# quartz.net