From c9871c80c802aea332ba09a5443c974fcbd338dc Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Mon, 6 Jan 2025 13:07:17 +0300 Subject: [PATCH 01/11] fix --- .deploy/deploy-dev.yaml | 2 ++ .deploy/deploy-prod.yaml | 2 ++ .gitea/workflows/deploy-dev.yaml | 1 + .gitea/workflows/deploy-prod.yaml | 1 + app/routers/take.go | 13 +++++++++++++ app/storage/redis/locks.go | 28 ++++++++++++++++++++++++++++ go.mod | 7 +++++++ go.sum | 13 +++++++++++++ main.go | 2 ++ 9 files changed, 69 insertions(+) create mode 100644 app/storage/redis/locks.go diff --git a/.deploy/deploy-dev.yaml b/.deploy/deploy-dev.yaml index 302ba1d..a0f47e3 100644 --- a/.deploy/deploy-dev.yaml +++ b/.deploy/deploy-dev.yaml @@ -9,6 +9,8 @@ services: environment: MONGO_HOST: "mongo.develop.sprinthub.ru" MONGO_PASSWORD: $MONGO_PASSWORD_DEV + REDIS_HOST: "redis.develop.sprinthub.ru" + REDIS_PASSWORD: $REDIS_PASSWORD_DEV STAGE: "development" deploy: mode: replicated diff --git a/.deploy/deploy-prod.yaml b/.deploy/deploy-prod.yaml index 187e3db..b091579 100644 --- a/.deploy/deploy-prod.yaml +++ b/.deploy/deploy-prod.yaml @@ -9,6 +9,8 @@ services: environment: MONGO_HOST: "mongo.sprinthub.ru" MONGO_PASSWORD: $MONGO_PASSWORD_PROD + REDIS_HOST: "redis.sprinthub.ru" + REDIS_PASSWORD: $REDIS_PASSWORD_PROD STAGE: "production" deploy: mode: replicated diff --git a/.gitea/workflows/deploy-dev.yaml b/.gitea/workflows/deploy-dev.yaml index 3efe3ac..843315a 100644 --- a/.gitea/workflows/deploy-dev.yaml +++ b/.gitea/workflows/deploy-dev.yaml @@ -40,4 +40,5 @@ jobs: - name: deploy env: MONGO_PASSWORD_DEV: ${{ secrets.MONGO_PASSWORD_DEV }} + REDIS_PASSWORD_DEV: ${{ secrets.REDIS_PASSWORD_DEV }} run: docker stack deploy --with-registry-auth -c ./.deploy/deploy-dev.yaml infra-development diff --git a/.gitea/workflows/deploy-prod.yaml b/.gitea/workflows/deploy-prod.yaml index 9a6c82f..4ce27eb 100644 --- a/.gitea/workflows/deploy-prod.yaml +++ b/.gitea/workflows/deploy-prod.yaml @@ -40,4 +40,5 @@ jobs: - name: deploy env: MONGO_PASSWORD_PROD: ${{ secrets.MONGO_PASSWORD_PROD }} + REDIS_PASSWORD_PROD: ${{ secrets.REDIS_PASSWORD_PROD }} run: docker stack deploy --with-registry-auth -c ./.deploy/deploy-prod.yaml infra diff --git a/app/routers/take.go b/app/routers/take.go index 42bc6ff..1f3d05c 100644 --- a/app/routers/take.go +++ b/app/routers/take.go @@ -1,8 +1,11 @@ package routers import ( + "fmt" "net/http" tasks "queues-go/app/storage/mongo/collections" + "queues-go/app/storage/redis" + "time" ) type TaskResponse struct { @@ -17,7 +20,17 @@ type TakeResponse struct { func Take(r *http.Request) (interface{}, int) { queue := r.Header.Get("queue") + mutex := redis.Sync.NewMutex(fmt.Sprintf("lock_queues_%s", queue)) + for { + err := mutex.Lock() + if err != nil { + time.Sleep(time.Millisecond * 5) + } else { + break + } + } task, err := tasks.Take(queue) + mutex.Unlock() if err != nil { return nil, http.StatusInternalServerError } diff --git a/app/storage/redis/locks.go b/app/storage/redis/locks.go new file mode 100644 index 0000000..5ddee39 --- /dev/null +++ b/app/storage/redis/locks.go @@ -0,0 +1,28 @@ +package redis + +import ( + "fmt" + "queues-go/app/utils" + + "github.com/go-redsync/redsync/v4" + "github.com/go-redsync/redsync/v4/redis/goredis/v9" + goredislib "github.com/redis/go-redis/v9" +) + +var Sync redsync.Redsync + +func Connect() { + client := goredislib.NewClient(getOptions()) + pool := goredis.NewPool(client) + Sync = *redsync.New(pool) +} + +func getOptions() *goredislib.Options { + addr := fmt.Sprintf("%s:6379", utils.GetEnv("REDIS_HOST", "localhost")) + password := utils.GetEnv("REDIS_PASSWORD", "password") + + return &goredislib.Options{ + Addr: addr, + Password: password, + } +} diff --git a/go.mod b/go.mod index cdc9282..168ff46 100644 --- a/go.mod +++ b/go.mod @@ -2,10 +2,17 @@ module queues-go go 1.23.4 +require github.com/go-redsync/redsync/v4 v4.13.0 + require ( + github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/golang/snappy v0.0.4 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/klauspost/compress v1.13.6 // indirect github.com/montanaflynn/stats v0.7.1 // indirect + github.com/redis/go-redis/v9 v9.5.1 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect diff --git a/go.sum b/go.sum index 9ea4ff2..37bbb89 100644 --- a/go.sum +++ b/go.sum @@ -1,9 +1,22 @@ +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= +github.com/go-redsync/redsync/v4 v4.13.0 h1:49X6GJfnbLGaIpBBREM/zA4uIMDXKAh1NDkvQ1EkZKA= +github.com/go-redsync/redsync/v4 v4.13.0/go.mod h1:HMW4Q224GZQz6x1Xc7040Yfgacukdzu7ifTDAKiyErQ= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8eaE= github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= +github.com/redis/go-redis/v9 v9.5.1 h1:H1X4D3yHPaYrkL5X06Wh6xNVM/pX0Ft4RV0vMGvLBh8= +github.com/redis/go-redis/v9 v9.5.1/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0b/CLO2V2M= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= diff --git a/main.go b/main.go index d2562b5..6365a21 100644 --- a/main.go +++ b/main.go @@ -6,6 +6,7 @@ import ( "net/http" "queues-go/app/routers" client "queues-go/app/storage/mongo" + "queues-go/app/storage/redis" "time" ) @@ -30,6 +31,7 @@ func handlerWrapper(f func(*http.Request) (interface{}, int)) func(http.Response func main() { client.Connect() + redis.Connect() http.HandleFunc("/api/v1/take", handlerWrapper(routers.Take)) http.HandleFunc("/api/v1/finish", handlerWrapper(routers.Finish)) http.HandleFunc("/api/v1/put", handlerWrapper(routers.Put)) -- 2.45.2 From c6935a26e51fa8997c3e16b1221df2c5690eea4d Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Mon, 6 Jan 2025 13:16:22 +0300 Subject: [PATCH 02/11] fix --- app/routers/take.go | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/app/routers/take.go b/app/routers/take.go index 1f3d05c..84ea8b7 100644 --- a/app/routers/take.go +++ b/app/routers/take.go @@ -1,11 +1,8 @@ package routers import ( - "fmt" "net/http" tasks "queues-go/app/storage/mongo/collections" - "queues-go/app/storage/redis" - "time" ) type TaskResponse struct { @@ -20,17 +17,17 @@ type TakeResponse struct { func Take(r *http.Request) (interface{}, int) { queue := r.Header.Get("queue") - mutex := redis.Sync.NewMutex(fmt.Sprintf("lock_queues_%s", queue)) - for { - err := mutex.Lock() - if err != nil { - time.Sleep(time.Millisecond * 5) - } else { - break - } - } + // mutex := redis.Sync.NewMutex(fmt.Sprintf("lock_queues_%s", queue)) + // for { + // err := mutex.Lock() + // if err != nil { + // time.Sleep(time.Millisecond * 5) + // } else { + // break + // } + // } task, err := tasks.Take(queue) - mutex.Unlock() + // mutex.Unlock() if err != nil { return nil, http.StatusInternalServerError } -- 2.45.2 From 64bee3c59fd745516f741864fdc1cebbd651ad3f Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Mon, 6 Jan 2025 13:20:48 +0300 Subject: [PATCH 03/11] fix --- app/routers/take.go | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/app/routers/take.go b/app/routers/take.go index 84ea8b7..1f3d05c 100644 --- a/app/routers/take.go +++ b/app/routers/take.go @@ -1,8 +1,11 @@ package routers import ( + "fmt" "net/http" tasks "queues-go/app/storage/mongo/collections" + "queues-go/app/storage/redis" + "time" ) type TaskResponse struct { @@ -17,17 +20,17 @@ type TakeResponse struct { func Take(r *http.Request) (interface{}, int) { queue := r.Header.Get("queue") - // mutex := redis.Sync.NewMutex(fmt.Sprintf("lock_queues_%s", queue)) - // for { - // err := mutex.Lock() - // if err != nil { - // time.Sleep(time.Millisecond * 5) - // } else { - // break - // } - // } + mutex := redis.Sync.NewMutex(fmt.Sprintf("lock_queues_%s", queue)) + for { + err := mutex.Lock() + if err != nil { + time.Sleep(time.Millisecond * 5) + } else { + break + } + } task, err := tasks.Take(queue) - // mutex.Unlock() + mutex.Unlock() if err != nil { return nil, http.StatusInternalServerError } -- 2.45.2 From bc411ea644c4917d3109ce0bf98e34f4d765ab14 Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Mon, 6 Jan 2025 13:33:28 +0300 Subject: [PATCH 04/11] fix --- app/routers/take.go | 19 ++++++++----------- main.go | 4 ++-- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/app/routers/take.go b/app/routers/take.go index 1f3d05c..1e5bd02 100644 --- a/app/routers/take.go +++ b/app/routers/take.go @@ -1,11 +1,9 @@ package routers import ( - "fmt" "net/http" tasks "queues-go/app/storage/mongo/collections" - "queues-go/app/storage/redis" - "time" + "sync" ) type TaskResponse struct { @@ -18,17 +16,16 @@ type TakeResponse struct { Task *TaskResponse `json:"task"` } +var MutexMap map[string]*sync.Mutex + func Take(r *http.Request) (interface{}, int) { queue := r.Header.Get("queue") - mutex := redis.Sync.NewMutex(fmt.Sprintf("lock_queues_%s", queue)) - for { - err := mutex.Lock() - if err != nil { - time.Sleep(time.Millisecond * 5) - } else { - break - } + mutex, ok := MutexMap[queue] + if !ok { + mutex = &sync.Mutex{} + MutexMap[queue] = mutex } + mutex.Lock() task, err := tasks.Take(queue) mutex.Unlock() if err != nil { diff --git a/main.go b/main.go index 6365a21..1f9650e 100644 --- a/main.go +++ b/main.go @@ -6,7 +6,7 @@ import ( "net/http" "queues-go/app/routers" client "queues-go/app/storage/mongo" - "queues-go/app/storage/redis" + "sync" "time" ) @@ -31,7 +31,7 @@ func handlerWrapper(f func(*http.Request) (interface{}, int)) func(http.Response func main() { client.Connect() - redis.Connect() + routers.MutexMap = make(map[string]*sync.Mutex) http.HandleFunc("/api/v1/take", handlerWrapper(routers.Take)) http.HandleFunc("/api/v1/finish", handlerWrapper(routers.Finish)) http.HandleFunc("/api/v1/put", handlerWrapper(routers.Put)) -- 2.45.2 From 53736302b388c0309fee11dc2ea6dfbe73376494 Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Mon, 6 Jan 2025 14:29:43 +0300 Subject: [PATCH 05/11] fix --- .deploy/deploy-dev.yaml | 22 ++++++++++++++++++++++ .deploy/deploy-prod.yaml | 22 ++++++++++++++++++++++ .gitea/workflows/deploy-dev.yaml | 9 ++++++++- .gitea/workflows/deploy-prod.yaml | 9 ++++++++- 4 files changed, 60 insertions(+), 2 deletions(-) diff --git a/.deploy/deploy-dev.yaml b/.deploy/deploy-dev.yaml index a0f47e3..3687f13 100644 --- a/.deploy/deploy-dev.yaml +++ b/.deploy/deploy-dev.yaml @@ -6,6 +6,7 @@ services: image: mathwave/sprint-repo:queues networks: - queues-development + - queues-mongo-development environment: MONGO_HOST: "mongo.develop.sprinthub.ru" MONGO_PASSWORD: $MONGO_PASSWORD_DEV @@ -20,6 +21,27 @@ services: parallelism: 1 order: start-first + storage: + image: mongo:6.0.2 + networks: + - queues-mongo-development + volumes: + - /sprint-data/queues-mongo:/data/db + environment: + MONGO_INITDB_ROOT_USERNAME: mongo + MONGO_INITDB_ROOT_PASSWORD: password + deploy: + mode: replicated + restart_policy: + condition: any + placement: + constraints: [node.labels.stage == development] + update_config: + parallelism: 1 + order: start-first + networks: queues-development: external: true + queues-mongo-development: + driver: overlay diff --git a/.deploy/deploy-prod.yaml b/.deploy/deploy-prod.yaml index b091579..7a9f041 100644 --- a/.deploy/deploy-prod.yaml +++ b/.deploy/deploy-prod.yaml @@ -6,6 +6,7 @@ services: image: mathwave/sprint-repo:queues networks: - queues + - queues-mongo-production environment: MONGO_HOST: "mongo.sprinthub.ru" MONGO_PASSWORD: $MONGO_PASSWORD_PROD @@ -20,6 +21,27 @@ services: parallelism: 1 order: start-first + storage: + image: mongo:6.0.2 + networks: + - queues-mongo-production + volumes: + - /sprint-data/queues-mongo:/data/db + environment: + MONGO_INITDB_ROOT_USERNAME: mongo + MONGO_INITDB_ROOT_PASSWORD: password + deploy: + mode: replicated + restart_policy: + condition: any + placement: + constraints: [node.labels.stage == development] + update_config: + parallelism: 1 + order: start-first + networks: queues: external: true + queues-mongo-production: + driver: overlay diff --git a/.gitea/workflows/deploy-dev.yaml b/.gitea/workflows/deploy-dev.yaml index 843315a..0c8a40c 100644 --- a/.gitea/workflows/deploy-dev.yaml +++ b/.gitea/workflows/deploy-dev.yaml @@ -26,6 +26,13 @@ jobs: steps: - name: push run: docker push mathwave/sprint-repo:queues + create_dir: + name: Create dir + runs-on: [ dev ] + needs: build + steps: + - name: create_dir + run: mkdir /sprint-data/queues-mongo || true deploy-dev: name: Deploy dev runs-on: [prod] @@ -41,4 +48,4 @@ jobs: env: MONGO_PASSWORD_DEV: ${{ secrets.MONGO_PASSWORD_DEV }} REDIS_PASSWORD_DEV: ${{ secrets.REDIS_PASSWORD_DEV }} - run: docker stack deploy --with-registry-auth -c ./.deploy/deploy-dev.yaml infra-development + run: docker stack deploy --with-registry-auth -c ./.deploy/deploy-dev.yaml queues-development diff --git a/.gitea/workflows/deploy-prod.yaml b/.gitea/workflows/deploy-prod.yaml index 4ce27eb..ef145a4 100644 --- a/.gitea/workflows/deploy-prod.yaml +++ b/.gitea/workflows/deploy-prod.yaml @@ -26,6 +26,13 @@ jobs: steps: - name: push run: docker push mathwave/sprint-repo:queues + create_dir: + name: Create dir + runs-on: [ prod ] + needs: build + steps: + - name: create_dir + run: mkdir /sprint-data/queues-mongo || true deploy-prod: name: Deploy prod runs-on: [prod] @@ -41,4 +48,4 @@ jobs: env: MONGO_PASSWORD_PROD: ${{ secrets.MONGO_PASSWORD_PROD }} REDIS_PASSWORD_PROD: ${{ secrets.REDIS_PASSWORD_PROD }} - run: docker stack deploy --with-registry-auth -c ./.deploy/deploy-prod.yaml infra + run: docker stack deploy --with-registry-auth -c ./.deploy/deploy-prod.yaml queues -- 2.45.2 From 6d9d3cb1df7419c5e550046613dc28cc9e417468 Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Mon, 6 Jan 2025 14:32:33 +0300 Subject: [PATCH 06/11] fix --- .deploy/deploy-dev.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.deploy/deploy-dev.yaml b/.deploy/deploy-dev.yaml index 3687f13..bc994de 100644 --- a/.deploy/deploy-dev.yaml +++ b/.deploy/deploy-dev.yaml @@ -8,8 +8,8 @@ services: - queues-development - queues-mongo-development environment: - MONGO_HOST: "mongo.develop.sprinthub.ru" - MONGO_PASSWORD: $MONGO_PASSWORD_DEV + MONGO_HOST: "mongo" + MONGO_PASSWORD: "password" REDIS_HOST: "redis.develop.sprinthub.ru" REDIS_PASSWORD: $REDIS_PASSWORD_DEV STAGE: "development" -- 2.45.2 From 36e60a03dd23d0e57f1a3ceba5647beac87e1541 Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Mon, 6 Jan 2025 14:32:44 +0300 Subject: [PATCH 07/11] fix --- .deploy/deploy-dev.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.deploy/deploy-dev.yaml b/.deploy/deploy-dev.yaml index bc994de..98a3364 100644 --- a/.deploy/deploy-dev.yaml +++ b/.deploy/deploy-dev.yaml @@ -8,7 +8,7 @@ services: - queues-development - queues-mongo-development environment: - MONGO_HOST: "mongo" + MONGO_HOST: "storage" MONGO_PASSWORD: "password" REDIS_HOST: "redis.develop.sprinthub.ru" REDIS_PASSWORD: $REDIS_PASSWORD_DEV -- 2.45.2 From f4e5bc107d55b44e4b6efa3aa293ae0d2989e569 Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Mon, 6 Jan 2025 16:46:41 +0300 Subject: [PATCH 08/11] fix --- .deploy/deploy-dev.yaml | 23 ++--------------------- .deploy/deploy-prod.yaml | 19 ------------------- 2 files changed, 2 insertions(+), 40 deletions(-) diff --git a/.deploy/deploy-dev.yaml b/.deploy/deploy-dev.yaml index 98a3364..5889596 100644 --- a/.deploy/deploy-dev.yaml +++ b/.deploy/deploy-dev.yaml @@ -8,8 +8,8 @@ services: - queues-development - queues-mongo-development environment: - MONGO_HOST: "storage" - MONGO_PASSWORD: "password" + MONGO_HOST: "mongo.sprinthub.ru" + MONGO_PASSWORD: $MONGO_PASSWORD_PROD REDIS_HOST: "redis.develop.sprinthub.ru" REDIS_PASSWORD: $REDIS_PASSWORD_DEV STAGE: "development" @@ -21,25 +21,6 @@ services: parallelism: 1 order: start-first - storage: - image: mongo:6.0.2 - networks: - - queues-mongo-development - volumes: - - /sprint-data/queues-mongo:/data/db - environment: - MONGO_INITDB_ROOT_USERNAME: mongo - MONGO_INITDB_ROOT_PASSWORD: password - deploy: - mode: replicated - restart_policy: - condition: any - placement: - constraints: [node.labels.stage == development] - update_config: - parallelism: 1 - order: start-first - networks: queues-development: external: true diff --git a/.deploy/deploy-prod.yaml b/.deploy/deploy-prod.yaml index 7a9f041..9f06d15 100644 --- a/.deploy/deploy-prod.yaml +++ b/.deploy/deploy-prod.yaml @@ -21,25 +21,6 @@ services: parallelism: 1 order: start-first - storage: - image: mongo:6.0.2 - networks: - - queues-mongo-production - volumes: - - /sprint-data/queues-mongo:/data/db - environment: - MONGO_INITDB_ROOT_USERNAME: mongo - MONGO_INITDB_ROOT_PASSWORD: password - deploy: - mode: replicated - restart_policy: - condition: any - placement: - constraints: [node.labels.stage == development] - update_config: - parallelism: 1 - order: start-first - networks: queues: external: true -- 2.45.2 From 911496ffba4075755601d1f6bb068a8df799251f Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Mon, 6 Jan 2025 16:47:43 +0300 Subject: [PATCH 09/11] fix --- .deploy/deploy-dev.yaml | 3 --- .deploy/deploy-prod.yaml | 3 --- 2 files changed, 6 deletions(-) diff --git a/.deploy/deploy-dev.yaml b/.deploy/deploy-dev.yaml index 5889596..2b8a668 100644 --- a/.deploy/deploy-dev.yaml +++ b/.deploy/deploy-dev.yaml @@ -6,7 +6,6 @@ services: image: mathwave/sprint-repo:queues networks: - queues-development - - queues-mongo-development environment: MONGO_HOST: "mongo.sprinthub.ru" MONGO_PASSWORD: $MONGO_PASSWORD_PROD @@ -24,5 +23,3 @@ services: networks: queues-development: external: true - queues-mongo-development: - driver: overlay diff --git a/.deploy/deploy-prod.yaml b/.deploy/deploy-prod.yaml index 9f06d15..b091579 100644 --- a/.deploy/deploy-prod.yaml +++ b/.deploy/deploy-prod.yaml @@ -6,7 +6,6 @@ services: image: mathwave/sprint-repo:queues networks: - queues - - queues-mongo-production environment: MONGO_HOST: "mongo.sprinthub.ru" MONGO_PASSWORD: $MONGO_PASSWORD_PROD @@ -24,5 +23,3 @@ services: networks: queues: external: true - queues-mongo-production: - driver: overlay -- 2.45.2 From 2219b4f4df60bd813a4cd09fc8481f60320948fa Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Mon, 6 Jan 2025 16:52:32 +0300 Subject: [PATCH 10/11] fix --- .deploy/deploy-dev.yaml | 7 ++----- .deploy/deploy-prod.yaml | 3 --- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.deploy/deploy-dev.yaml b/.deploy/deploy-dev.yaml index 2b8a668..80e0af2 100644 --- a/.deploy/deploy-dev.yaml +++ b/.deploy/deploy-dev.yaml @@ -7,11 +7,8 @@ services: networks: - queues-development environment: - MONGO_HOST: "mongo.sprinthub.ru" - MONGO_PASSWORD: $MONGO_PASSWORD_PROD - REDIS_HOST: "redis.develop.sprinthub.ru" - REDIS_PASSWORD: $REDIS_PASSWORD_DEV - STAGE: "development" + MONGO_HOST: "mongo.develop.sprinthub.ru" + MONGO_PASSWORD: $MONGO_PASSWORD_DEV deploy: mode: replicated restart_policy: diff --git a/.deploy/deploy-prod.yaml b/.deploy/deploy-prod.yaml index b091579..1e94afa 100644 --- a/.deploy/deploy-prod.yaml +++ b/.deploy/deploy-prod.yaml @@ -9,9 +9,6 @@ services: environment: MONGO_HOST: "mongo.sprinthub.ru" MONGO_PASSWORD: $MONGO_PASSWORD_PROD - REDIS_HOST: "redis.sprinthub.ru" - REDIS_PASSWORD: $REDIS_PASSWORD_PROD - STAGE: "production" deploy: mode: replicated restart_policy: -- 2.45.2 From f3c832065acc00cbde1fe7247864a5be039b7f9d Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Tue, 7 Jan 2025 02:26:28 +0300 Subject: [PATCH 11/11] fix --- .deploy/deploy-dev.yaml | 2 ++ .deploy/deploy-prod.yaml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.deploy/deploy-dev.yaml b/.deploy/deploy-dev.yaml index 80e0af2..81fabf6 100644 --- a/.deploy/deploy-dev.yaml +++ b/.deploy/deploy-dev.yaml @@ -13,6 +13,8 @@ services: mode: replicated restart_policy: condition: any + placement: + constraints: [node.labels.stage == development] update_config: parallelism: 1 order: start-first diff --git a/.deploy/deploy-prod.yaml b/.deploy/deploy-prod.yaml index 1e94afa..60d8d2a 100644 --- a/.deploy/deploy-prod.yaml +++ b/.deploy/deploy-prod.yaml @@ -13,6 +13,8 @@ services: mode: replicated restart_policy: condition: any + placement: + constraints: [node.labels.stage == production] update_config: parallelism: 1 order: start-first -- 2.45.2