Skip to content

Commit d82381b

Browse files
committed
Updated
1 parent e964366 commit d82381b

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

pkg/pgqueue/config/task.go

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,15 @@ func (t *task) CreateTask(ctx context.Context, queue string, payload any, delay
168168
// PRIVATE METHODS
169169

170170
func (t *task) tryTicker(ctx context.Context, taskpool *pgqueue.TaskPool, ticker *schema.Ticker) {
171+
now := time.Now()
171172
taskpool.RunTicker(ctx, ticker, tickerFunc, func(err error) {
172-
// TODO: Deal with errors
173+
delta := time.Since(now).Truncate(time.Millisecond)
174+
switch {
175+
case err == nil:
176+
ref.Log(ctx).With("ticker", ticker, "delta_ms", delta.Milliseconds()).Print(ctx, "Ticker completed in ", delta)
177+
default:
178+
ref.Log(ctx).With("ticker", ticker, "delta_ms", delta.Milliseconds(), "error", err.Error()).Printf(ctx, "Failed after %v: %v", delta, err)
179+
}
173180
})
174181
}
175182

@@ -207,13 +214,14 @@ func taskFunc(ctx context.Context, payload any) error {
207214
}
208215

209216
func tickerFunc(ctx context.Context, payload any) error {
210-
ref.Log(ctx).Print(ctx, "Running ticker ", ref.Ticker(ctx))
217+
var err error
218+
if rand.Intn(2) == 1 {
219+
err = errors.New("random error")
220+
}
211221
select {
212222
case <-ctx.Done():
213-
ref.Log(ctx).Print(ctx, "Ticker deadline exceeded")
214223
return ctx.Err()
215224
case <-time.After(time.Second * time.Duration(rand.Intn(20))):
216-
ref.Log(ctx).Print(ctx, "Ticker done")
225+
return err
217226
}
218-
return nil
219227
}

0 commit comments

Comments
 (0)