diff --git a/go.mod b/go.mod index d93f2ba..d423444 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( go.uber.org/zap v1.26.0 google.golang.org/grpc v1.61.1 google.golang.org/protobuf v1.32.0 - penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240313162137-d59eb04dc606 + penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240313164312-4560248259a0 ) require ( diff --git a/go.sum b/go.sum index 90f5853..7ae0752 100644 --- a/go.sum +++ b/go.sum @@ -168,7 +168,7 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240202120244-c4ef330cfe5d h1:gbaDt35HMDqOK84WYmDIlXMI7rstUcRqNttaT6Kx1do= penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240202120244-c4ef330cfe5d/go.mod h1:lTmpjry+8evVkXWbEC+WMOELcFkRD1lFMc7J09mOndM= -penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240313162137-d59eb04dc606 h1:kQhIfeeBk57O6+2sdiGXidQHAP+wp3fa9Cys7TqXRzs= -penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240313162137-d59eb04dc606/go.mod h1:evOyhZpozEtHTVluVYelgSTBUwfO5MBSxr02c3IsGic= +penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240313164312-4560248259a0 h1:YbffFOWneoINvEqCWClf5Zatu/a0VNo9RM0nYveCzhk= +penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240313164312-4560248259a0/go.mod h1:JgbH8cdAJBr3jx3BuY5nnuTyMdZ1XkRxo8a3w4Y3C0Y= penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af h1:jQ7HaXSutDX5iepU7VRImxhikK7lV/lBKkiloOZ4Emo= penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af/go.mod h1:5S5YwjSXWmnEKjBjG6MtyGtFmljjukDRS8CwHk/CF/I= diff --git a/savewc/for_client.go b/savewc/for_client.go deleted file mode 100644 index 173c950..0000000 --- a/savewc/for_client.go +++ /dev/null @@ -1,72 +0,0 @@ -package savewc - -import ( - "context" - "encoding/json" - "fmt" - "github.com/go-redis/redis/v8" - "github.com/themakers/hlog" - "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model" - "time" -) - -type DepsForClient struct { - WorkerSendClientCh chan model.Answer - Redis *redis.Client -} - -type SaveForClient struct { - deps DepsForClient - errChan chan<- error - logger hlog.Logger -} - -func NewSaveClientWorker(deps DepsForClient, errChan chan<- error, logger hlog.Logger) *SaveForClient { - return &SaveForClient{ - deps: deps, - errChan: errChan, - logger: logger, - } -} - -func (w *SaveForClient) Start(ctx context.Context) { - - for { - select { - case answer, ok := <-w.deps.WorkerSendClientCh: - if !ok { - return - } - fmt.Println("SAVECLINT") - err := w.saveAnswer(ctx, answer) - if err != nil { - fmt.Println("Error save answer") - w.errChan <- err - } - - case <-ctx.Done(): - fmt.Println("Save for client worker terminated") - return - } - } -} - -func (w *SaveForClient) saveAnswer(ctx context.Context, answer model.Answer) error { - answerJSON, err := json.Marshal(answer) - if err != nil { - fmt.Println("Error marshal answer to redis", err) - w.errChan <- err - return err - } - - key := fmt.Sprintf("answer:%d", time.Now().UnixNano()) - - err = w.deps.Redis.Set(ctx, key, answerJSON, 0).Err() - if err != nil { - fmt.Println("Error saving answer to redis", err) - w.errChan <- err - return err - } - - return nil -} diff --git a/savewc/for_respondent.go b/savewc/for_respondent.go deleted file mode 100644 index 954ddab..0000000 --- a/savewc/for_respondent.go +++ /dev/null @@ -1,71 +0,0 @@ -package savewc - -import ( - "context" - "encoding/json" - "fmt" - "github.com/go-redis/redis/v8" - "github.com/themakers/hlog" - "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model" - "time" -) - -type DepsForResp struct { - WorkerRespondentCh chan []model.Answer - Redis *redis.Client -} - -type SaveForRespondent struct { - deps DepsForResp - errChan chan<- error - logger hlog.Logger -} - -func NewSaveRespWorker(deps DepsForResp, errChan chan<- error, logger hlog.Logger) *SaveForRespondent { - return &SaveForRespondent{ - deps: deps, - errChan: errChan, - logger: logger, - } -} - -func (w *SaveForRespondent) Start(ctx context.Context) { - for { - select { - case answer, ok := <-w.deps.WorkerRespondentCh: - if !ok { - return - } - fmt.Println("SAVERESP") - err := w.saveAnswers(ctx, answer) - if err != nil { - w.logger.Module("Error save answers") - w.errChan <- err - } - - case <-ctx.Done(): - w.logger.Module("Save for respondent worker terminated") - return - - } - } -} - -func (w *SaveForRespondent) saveAnswers(ctx context.Context, answers []model.Answer) error { - for _, answer := range answers { - answerJSON, err := json.Marshal(answer) - if err != nil { - fmt.Println("Error marshal answer", err) - w.errChan <- err - } - - key := fmt.Sprintf("toRespondent:%d", time.Now().UnixNano()) - - err = w.deps.Redis.Set(ctx, key, answerJSON, 0).Err() - if err != nil { - fmt.Println("Error setting to redis", err) - w.errChan <- err - } - } - return nil -}