@@ -3,6 +3,7 @@ package main
33import (
44 "context"
55 "fmt"
6+ "log"
67 "net/http"
78 "os"
89 "os/signal"
@@ -11,6 +12,7 @@ import (
1112 "time"
1213
1314 "github.com/reugn/go-quartz/job"
15+ "github.com/reugn/go-quartz/logger"
1416 "github.com/reugn/go-quartz/quartz"
1517)
1618
@@ -24,19 +26,26 @@ func main() {
2426 cancel ()
2527 }()
2628
27- wg := new ( sync.WaitGroup )
29+ var wg sync.WaitGroup
2830 wg .Add (2 )
2931
30- go sampleJobs (ctx , wg )
31- go sampleScheduler (ctx , wg )
32+ go sampleJobs (ctx , & wg )
33+ go sampleScheduler (ctx , & wg )
3234
3335 wg .Wait ()
3436}
3537
3638func sampleScheduler (ctx context.Context , wg * sync.WaitGroup ) {
3739 defer wg .Done ()
3840
39- sched := quartz .NewStdScheduler ()
41+ stdLogger := log .New (os .Stdout , "" , log .LstdFlags | log .Lmsgprefix | log .Lshortfile )
42+ l := logger .NewSimpleLogger (stdLogger , logger .LevelInfo )
43+ sched , err := quartz .NewStdScheduler (quartz .WithLogger (l ))
44+ if err != nil {
45+ fmt .Println (err )
46+ return
47+ }
48+
4049 cronTrigger , err := quartz .NewCronTrigger ("1/3 * * * * *" )
4150 if err != nil {
4251 fmt .Println (err )
@@ -50,13 +59,13 @@ func sampleScheduler(ctx context.Context, wg *sync.WaitGroup) {
5059 jobDetail1 := quartz .NewJobDetail (& PrintJob {"First job" }, quartz .NewJobKey ("job1" ))
5160 jobDetail2 := quartz .NewJobDetail (& PrintJob {"Second job" }, quartz .NewJobKey ("job2" ))
5261 jobDetail3 := quartz .NewJobDetail (& PrintJob {"Third job" }, quartz .NewJobKey ("job3" ))
53- _ = sched .ScheduleJob (runOnceJobDetail , quartz .NewRunOnceTrigger (time .Second * 5 ))
54- _ = sched .ScheduleJob (jobDetail1 , quartz .NewSimpleTrigger (time .Second * 12 ))
55- _ = sched .ScheduleJob (jobDetail2 , quartz .NewSimpleTrigger (time .Second * 6 ))
56- _ = sched .ScheduleJob (jobDetail3 , quartz .NewSimpleTrigger (time .Second * 3 ))
62+ _ = sched .ScheduleJob (runOnceJobDetail , quartz .NewRunOnceTrigger (5 * time .Second ))
63+ _ = sched .ScheduleJob (jobDetail1 , quartz .NewSimpleTrigger (12 * time .Second ))
64+ _ = sched .ScheduleJob (jobDetail2 , quartz .NewSimpleTrigger (6 * time .Second ))
65+ _ = sched .ScheduleJob (jobDetail3 , quartz .NewSimpleTrigger (3 * time .Second ))
5766 _ = sched .ScheduleJob (cronJob , cronTrigger )
5867
59- time .Sleep (time . Second * 10 )
68+ time .Sleep (10 * time . Second )
6069
6170 scheduledJob , err := sched .GetScheduledJob (cronJob .JobKey ())
6271 if err != nil {
@@ -71,14 +80,20 @@ func sampleScheduler(ctx context.Context, wg *sync.WaitGroup) {
7180 jobKeys , _ = sched .GetJobKeys ()
7281 fmt .Println ("After delete: " , jobKeys )
7382
74- time .Sleep (time .Second * 2 )
83+ time .Sleep (2 * time .Second )
84+
7585 sched .Stop ()
7686 sched .Wait (ctx )
7787}
7888
7989func sampleJobs (ctx context.Context , wg * sync.WaitGroup ) {
8090 defer wg .Done ()
81- sched := quartz .NewStdScheduler ()
91+ sched , err := quartz .NewStdScheduler ()
92+ if err != nil {
93+ fmt .Println (err )
94+ return
95+ }
96+
8297 sched .Start (ctx )
8398
8499 cronTrigger , err := quartz .NewCronTrigger ("1/5 * * * * *" )
@@ -93,6 +108,7 @@ func sampleJobs(ctx context.Context, wg *sync.WaitGroup) {
93108 fmt .Println (err )
94109 return
95110 }
111+
96112 curlJob := job .NewCurlJob (request )
97113 functionJob := job .NewFunctionJobWithDesc (
98114 func (_ context.Context ) (int , error ) { return 42 , nil },
@@ -102,10 +118,10 @@ func sampleJobs(ctx context.Context, wg *sync.WaitGroup) {
102118 curlJobDetail := quartz .NewJobDetail (curlJob , quartz .NewJobKey ("curlJob" ))
103119 functionJobDetail := quartz .NewJobDetail (functionJob , quartz .NewJobKey ("functionJob" ))
104120 _ = sched .ScheduleJob (shellJobDetail , cronTrigger )
105- _ = sched .ScheduleJob (curlJobDetail , quartz .NewSimpleTrigger (time .Second * 7 ))
106- _ = sched .ScheduleJob (functionJobDetail , quartz .NewSimpleTrigger (time .Second * 3 ))
121+ _ = sched .ScheduleJob (curlJobDetail , quartz .NewSimpleTrigger (7 * time .Second ))
122+ _ = sched .ScheduleJob (functionJobDetail , quartz .NewSimpleTrigger (3 * time .Second ))
107123
108- time .Sleep (time . Second * 10 )
124+ time .Sleep (10 * time . Second )
109125
110126 fmt .Println (sched .GetJobKeys ())
111127 fmt .Println (shellJob .Stdout ())
@@ -118,7 +134,8 @@ func sampleJobs(ctx context.Context, wg *sync.WaitGroup) {
118134 }
119135 fmt .Printf ("Function job result: %v\n " , functionJob .Result ())
120136
121- time .Sleep (time .Second * 2 )
137+ time .Sleep (2 * time .Second )
138+
122139 sched .Stop ()
123140 sched .Wait (ctx )
124141}
0 commit comments