Skip to content

Commit 612c9b7

Browse files
committed
refactor(runner): update runOnce to accept start and end times, improve task deletion
1 parent 73ce3a2 commit 612c9b7

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

internal/runner/runner.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff 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

1819
func 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)

0 commit comments

Comments
 (0)