CallbackWithInterval is a wrapper that takes a task.Func and a time.Duration and returns a TaskCallback.
(_ context.Context, interval time.Duration, callback task.Func)
| 65 | |
| 66 | // CallbackWithInterval is a wrapper that takes a task.Func and a time.Duration and returns a TaskCallback. |
| 67 | func CallbackWithInterval(_ context.Context, interval time.Duration, callback task.Func) TaskCallback { |
| 68 | return func(ctx context.Context) (time.Time, error) { |
| 69 | t := time.Now().Add(interval) |
| 70 | if err := callback(ctx); err != nil { |
| 71 | return t, err |
| 72 | } |
| 73 | return t, nil |
| 74 | } |
| 75 | } |
| 76 | |
| 77 | // NewRedisTaskQueue returns new telemetry task queue. |
| 78 | func NewRedisTaskQueue( |