diff --git a/pkg/amoClient/amo.go b/pkg/amoClient/amo.go index 819c145..1594b8b 100644 --- a/pkg/amoClient/amo.go +++ b/pkg/amoClient/amo.go @@ -12,6 +12,7 @@ import ( "os" "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model" "strings" + "sync" "time" "github.com/gofiber/fiber/v2" @@ -27,6 +28,7 @@ type Amo struct { integrationSecret string rateLimiter *limiter.RateLimiter amoStorageURL string + fileMutex sync.Mutex } type AmoDeps struct { @@ -579,6 +581,8 @@ func (a *Amo) downloadFile(urlFile string) (*os.File, error) { } func (a *Amo) UploadFileToAmo(urlFile string, accessToken string) (*models.ValuesFile, error) { + a.fileMutex.Lock() + defer a.fileMutex.Unlock() localFile, err := a.downloadFile(urlFile) if err != nil { return nil, err