@@ -14,97 +14,108 @@ public TriggerBuilder MakeTriggerBuilder(AbstractCommand command)
1414 {
1515 return TriggerBuilder
1616 . Create ( )
17- . WithIdentity ( $ "{ command . Name } :job:{ command . ScheduleId } ", command . SchedulerGroup ) ;
17+ . WithIdentity ( $ "{ command . Name } :job:{ command . ScheduleId } ", command . SchedulerGroup ) ;
1818 }
1919
20- public void EverySecond ( )
20+ public ITrigger MakeTrigger ( AbstractCommand command , Action < DailyTimeIntervalScheduleBuilder > action )
2121 {
22- var trigger = MakeTriggerBuilder ( Command )
23- . StartNow ( )
24- . WithSimpleSchedule ( x => x . WithIntervalInSeconds ( 1 ) . RepeatForever ( ) )
22+ return MakeTriggerBuilder ( command )
23+ . WithDailyTimeIntervalSchedule ( action )
2524 . Build ( ) ;
26- Scheduler . ScheduleJob ( JobDetail , trigger ) ;
2725 }
2826
29- public void EveryMinute ( )
27+ public ITrigger MakeTrigger ( AbstractCommand command , string cronExpression )
3028 {
31- var trigger = MakeTriggerBuilder ( Command )
32- . StartNow ( )
33- . WithSimpleSchedule ( x => x . WithIntervalInMinutes ( 1 ) . RepeatForever ( ) )
29+ return MakeTriggerBuilder ( command )
30+ . WithCronSchedule ( cronExpression )
3431 . Build ( ) ;
35- Scheduler . ScheduleJob ( JobDetail , trigger ) ;
3632 }
3733
38- public void EveryFiveMinutes ( )
34+ public ITrigger MakeTrigger ( AbstractCommand command , Action < SimpleScheduleBuilder > action )
3935 {
40- var trigger = MakeTriggerBuilder ( Command )
41- . StartNow ( )
42- . WithSimpleSchedule ( x => x . WithIntervalInMinutes ( 5 ) . RepeatForever ( ) )
36+ return MakeTriggerBuilder ( command )
37+ . WithSimpleSchedule ( action )
4338 . Build ( ) ;
44- Scheduler . ScheduleJob ( JobDetail , trigger ) ;
39+ }
40+
41+ public void EverySecond ( )
42+ {
43+ Scheduler . ScheduleJob (
44+ JobDetail ,
45+ MakeTrigger ( Command , x => x . WithIntervalInSeconds ( 1 ) . RepeatForever ( ) )
46+ ) ;
47+ }
48+
49+ public void EveryMinute ( )
50+ {
51+ Scheduler . ScheduleJob (
52+ JobDetail ,
53+ MakeTrigger ( Command , x => x . WithIntervalInMinutes ( 1 ) . RepeatForever ( ) )
54+ ) ;
55+ }
56+
57+ public void EveryFiveMinutes ( )
58+ {
59+ Scheduler . ScheduleJob (
60+ JobDetail ,
61+ MakeTrigger ( Command , x => x . WithIntervalInMinutes ( 5 ) . RepeatForever ( ) )
62+ ) ;
4563 }
4664
4765 public void EveryTenMinutes ( )
4866 {
49- var trigger = MakeTriggerBuilder ( Command )
50- . StartNow ( )
51- . WithSimpleSchedule ( x => x . WithIntervalInMinutes ( 10 ) . RepeatForever ( ) )
52- . Build ( ) ;
53- Scheduler . ScheduleJob ( JobDetail , trigger ) ;
67+ Scheduler . ScheduleJob (
68+ JobDetail ,
69+ MakeTrigger ( Command , x => x . WithIntervalInMinutes ( 10 ) . RepeatForever ( ) )
70+ ) ;
5471 }
5572
5673 public void EveryFifteenMinutes ( )
5774 {
58- var trigger = MakeTriggerBuilder ( Command )
59- . StartNow ( )
60- . WithSimpleSchedule ( x => x . WithIntervalInMinutes ( 15 ) . RepeatForever ( ) )
61- . Build ( ) ;
62- Scheduler . ScheduleJob ( JobDetail , trigger ) ;
75+ Scheduler . ScheduleJob (
76+ JobDetail ,
77+ MakeTrigger ( Command , x => x . WithIntervalInMinutes ( 15 ) . RepeatForever ( ) )
78+ ) ;
6379 }
6480
6581 public void EveryThirtyMinutes ( )
6682 {
67- var trigger = MakeTriggerBuilder ( Command )
68- . StartNow ( )
69- . WithSimpleSchedule ( x => x . WithIntervalInMinutes ( 30 ) . RepeatForever ( ) )
70- . Build ( ) ;
71- Scheduler . ScheduleJob ( JobDetail , trigger ) ;
83+ Scheduler . ScheduleJob (
84+ JobDetail ,
85+ MakeTrigger ( Command , x => x . WithIntervalInMinutes ( 30 ) . RepeatForever ( ) )
86+ ) ;
7287 }
7388
7489 public void Hourly ( )
7590 {
76- var trigger = MakeTriggerBuilder ( Command )
77- . StartNow ( )
78- . WithSimpleSchedule ( x => x . WithIntervalInHours ( 1 ) . RepeatForever ( ) )
79- . Build ( ) ;
80- Scheduler . ScheduleJob ( JobDetail , trigger ) ;
91+ Scheduler . ScheduleJob (
92+ JobDetail ,
93+ MakeTrigger ( Command , x => x . WithIntervalInHours ( 1 ) . RepeatForever ( ) )
94+ ) ;
8195 }
8296
8397 public void HourlyAt ( int minutesAfterTheHour )
8498 {
85- var trigger = MakeTriggerBuilder ( Command )
86- . StartNow ( )
87- . WithCronSchedule ( $ "0 { minutesAfterTheHour } * * * ?")
88- . Build ( ) ;
89- Scheduler . ScheduleJob ( JobDetail , trigger ) ;
99+ Scheduler . ScheduleJob (
100+ JobDetail ,
101+ MakeTrigger ( Command , $ "0 { minutesAfterTheHour } * * * ?")
102+ ) ;
90103 }
91104
92105 public void Daily ( )
93106 {
94- var trigger = MakeTriggerBuilder ( Command )
95- . StartNow ( )
96- . WithSimpleSchedule ( x => x . WithIntervalInHours ( 24 ) . RepeatForever ( ) )
97- . Build ( ) ;
98- Scheduler . ScheduleJob ( JobDetail , trigger ) ;
107+ Scheduler . ScheduleJob (
108+ JobDetail ,
109+ MakeTrigger ( Command , x => x . WithIntervalInHours ( 24 ) . RepeatForever ( ) )
110+ ) ;
99111 }
100112
101113 public void DailyAt ( TimeOfDay timeOfDay )
102114 {
103- var trigger = MakeTriggerBuilder ( Command )
104- . StartNow ( )
105- . WithDailyTimeIntervalSchedule ( x => x . StartingDailyAt ( timeOfDay ) )
106- . Build ( ) ;
107- Scheduler . ScheduleJob ( JobDetail , trigger ) ;
115+ Scheduler . ScheduleJob (
116+ JobDetail ,
117+ MakeTrigger ( Command , x => x . StartingDailyAt ( timeOfDay ) )
118+ ) ;
108119 }
109120 }
110121}
0 commit comments