smtpbiz-exporter/internal/worker/research/research.go

44 lines
756 B
Go

package research
import (
"context"
"gitea.pena/PenaDevops/smtpbiz-exporter/internal/client"
"go.uber.org/zap"
"time"
)
type Deps struct {
Client *client.SMTPClient
Logger *zap.Logger
Frequency int64
}
type Research struct {
client *client.SMTPClient
logger *zap.Logger
frequency int64
}
func NewResearch(deps Deps) *Research {
return &Research{
client: deps.Client,
logger: deps.Logger,
frequency: deps.Frequency,
}
}
func (r *Research) Start(ctx context.Context) {
ticker := time.NewTicker(time.Second * time.Duration(r.frequency))
defer ticker.Stop()
for {
select {
case <-ticker.C:
r.StartFetching(ctx)
case <-ctx.Done():
return
}
}
}
func (r *Research) StartFetching(ctx context.Context) {}