2021-07-13 17:14:25 +00:00
|
|
|
package worker
|
|
|
|
|
|
|
|
import (
|
2022-05-07 16:37:21 +00:00
|
|
|
"context"
|
2022-05-21 17:17:04 +00:00
|
|
|
"time"
|
2022-05-07 16:37:21 +00:00
|
|
|
|
2021-07-13 17:14:25 +00:00
|
|
|
"github.com/DataDog/datadog-go/statsd"
|
|
|
|
"github.com/go-redis/redis/v8"
|
|
|
|
"github.com/jackc/pgx/v4/pgxpool"
|
2022-05-23 18:17:25 +00:00
|
|
|
"go.uber.org/zap"
|
2021-07-13 17:14:25 +00:00
|
|
|
)
|
|
|
|
|
2022-11-01 23:08:10 +00:00
|
|
|
const pollDuration = 100 * time.Millisecond
|
2022-05-21 17:17:04 +00:00
|
|
|
|
2022-11-02 04:49:20 +00:00
|
|
|
type NewWorkerFn func(context.Context, *zap.Logger, *statsd.Client, *pgxpool.Pool, *redis.Client, int) Worker
|
2021-07-13 17:14:25 +00:00
|
|
|
type Worker interface {
|
2022-11-02 04:49:20 +00:00
|
|
|
Process(ctx context.Context, args ...interface{}) error
|
2021-07-13 17:14:25 +00:00
|
|
|
}
|