diff --git a/internal/workers/data_updater/data_updater.go b/internal/workers/data_updater/data_updater.go index 541ff2d..57c8065 100644 --- a/internal/workers/data_updater/data_updater.go +++ b/internal/workers/data_updater/data_updater.go @@ -3,6 +3,7 @@ package data_updater import ( "amocrm/internal/brokers" "amocrm/internal/models" + "amocrm/pkg/timer" "context" "go.uber.org/zap" "time" @@ -27,7 +28,7 @@ func NewDataUpdaterWC(deps Deps) *DataUpdater { } func (wc *DataUpdater) Start(ctx context.Context) { - nextStart := calculateTime() + nextStart := timer.CalculateTime(4) ticker := time.NewTicker(time.Nanosecond * time.Duration(nextStart)) //ticker := time.NewTicker(10 * time.Second) defer ticker.Stop() @@ -42,7 +43,6 @@ func (wc *DataUpdater) Start(ctx context.Context) { select { case <-ticker.C: wc.processTasks(ctx) - nextStart = calculateTime() ticker.Reset(time.Nanosecond * time.Duration(nextStart)) case <-ctx.Done(): return diff --git a/internal/workers_methods/methods.go b/internal/workers_methods/methods.go index 5c0507c..45f3078 100644 --- a/internal/workers_methods/methods.go +++ b/internal/workers_methods/methods.go @@ -41,46 +41,7 @@ func (m *Methods) UpdateTokens(ctx context.Context) ([]model.Token, error) { m.logger.Error("error getting all tokens from db in UpdateTokens", zap.Error(err)) return nil, err } - - for _, oldToken := range allTokens { - user, err := m.repo.AmoRepo.GetCurrentAccount(ctx, oldToken.AccountID) - if err != nil { - m.logger.Error("error getting account by id in UpdateTokens", zap.Error(err)) - continue - } - req := models.UpdateWebHookReq{ - GrantType: "refresh_token", - RefreshToken: oldToken.RefreshToken, - } - - resp, err := m.amoClient.CreateWebHook(&req, user.Subdomain) - if err != nil { - m.logger.Error("error create webhook in UpdateTokens", zap.Error(err)) - continue - } - - newToken := model.Token{ - AccountID: oldToken.AccountID, - RefreshToken: resp.RefreshToken, - AccessToken: resp.AccessToken, - Expiration: time.Now().Unix() + resp.ExpiresIn, - CreatedAt: time.Now().Unix(), - } - - err = m.repo.AmoRepo.WebhookUpdate(ctx, newToken) - if err != nil { - m.logger.Error("error update token in db", zap.Error(err)) - return nil, err - } - } - - newTokens, err := m.repo.AmoRepo.GetAllTokens(ctx) - if err != nil { - m.logger.Error("error getting all new updated tokens from db in UpdateTokens", zap.Error(err)) - return nil, err - } - - return newTokens, nil + return allTokens, nil } func (m *Methods) CheckUsers(ctx context.Context, allTokens []model.Token) error { diff --git a/pkg/timer/timer.go b/pkg/timer/timer.go index c60bafd..61cefbe 100644 --- a/pkg/timer/timer.go +++ b/pkg/timer/timer.go @@ -1,4 +1,4 @@ -package data_updater +package timer import ( "time" diff --git a/pkg/timer/timer_test.go b/pkg/timer/timer_test.go new file mode 100644 index 0000000..e8656bd --- /dev/null +++ b/pkg/timer/timer_test.go @@ -0,0 +1,14 @@ +package timer + +import ( + "fmt" + "testing" +) + +func TestTimer(t *testing.T) { + result := CalculateTime(4) + fmt.Println(result) + + result = CalculateTime(3) + fmt.Println(result) +}