File tree Expand file tree Collapse file tree 1 file changed +6
-4
lines changed
Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -13,13 +13,15 @@ type Runner struct {
1313 ticker Ticker
1414 store scheduler.Store
1515 executor * executor.Executor
16+ interval time.Duration
1617}
1718
1819func New (store scheduler.Store , executor * executor.Executor , interval time.Duration ) * Runner {
1920 return & Runner {
2021 ticker : NewTicker (interval ),
2122 store : store ,
2223 executor : executor ,
24+ interval : interval ,
2325 }
2426}
2527
@@ -30,13 +32,13 @@ func (r *Runner) Start(ctx context.Context) {
3032 r .ticker .Stop ()
3133 return
3234 case now := <- r .ticker .C ():
33- r .runOnce (now )
35+ r .runOnce (now , now . Add ( r . interval ) )
3436 }
3537 }
3638}
3739
38- func (r * Runner ) runOnce (now time.Time ) {
39- tasks , err := r .store .GetDueTasks (now )
40+ func (r * Runner ) runOnce (start , end time.Time ) {
41+ tasks , err := r .store .GetDueTasks (start , end )
4042 if err != nil {
4143 log .Println ("Failed to get due tasks:" , err )
4244 return
@@ -56,7 +58,7 @@ func (r *Runner) runOnce(now time.Time) {
5658
5759 log .Printf ("#%d | Executing task: %s" , i , t .ID )
5860 if err := r .executor .Execute (t ); err == nil {
59- _ = r .store .Delete (t .ID )
61+ _ = r .store .Delete (t .ID , t . ExecuteAt . Unix () )
6062 }
6163
6264 }(task , i )
You can’t perform that action at this time.
0 commit comments