each consumer gets their reddit client

This commit is contained in:
Andre Medeiros 2022-11-02 18:51:16 -04:00
parent 710443830b
commit 5714fbaad7

View file

@ -39,7 +39,6 @@ type notificationsWorker struct {
db *pgxpool.Pool
redis *redis.Client
queue rmq.Connection
reddit *reddit.Client
apns *token.Token
consumers int
@ -49,14 +48,6 @@ type notificationsWorker struct {
}
func NewNotificationsWorker(ctx context.Context, logger *zap.Logger, statsd *statsd.Client, db *pgxpool.Pool, redis *redis.Client, queue rmq.Connection, consumers int) Worker {
reddit := reddit.NewClient(
os.Getenv("REDDIT_CLIENT_ID"),
os.Getenv("REDDIT_CLIENT_SECRET"),
statsd,
redis,
consumers,
)
var apns *token.Token
{
authKey, err := token.AuthKeyFromFile(os.Getenv("APPLE_KEY_PATH"))
@ -78,7 +69,6 @@ func NewNotificationsWorker(ctx context.Context, logger *zap.Logger, statsd *sta
db,
redis,
queue,
reddit,
apns,
consumers,
@ -119,13 +109,23 @@ func (nw *notificationsWorker) Stop() {
type notificationsConsumer struct {
*notificationsWorker
tag int
apns *apns2.Client
reddit *reddit.Client
tag int
apns *apns2.Client
}
func NewNotificationsConsumer(nw *notificationsWorker, tag int) *notificationsConsumer {
reddit := reddit.NewClient(
os.Getenv("REDDIT_CLIENT_ID"),
os.Getenv("REDDIT_CLIENT_SECRET"),
nw.statsd,
nw.redis,
1,
)
return &notificationsConsumer{
nw,
reddit,
tag,
apns2.NewTokenClient(nw.apns).Production(),
}