Возможно ли создать работу из лямбда в Quartz.net?Как создать 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] (http://www.quartz-scheduler.net/documentation/quartz-3.x/tutorial/miscellaneous-features.html) может помочь вам в этом. – Rabban