fix: воркер ждет готовности rabbitmq, локально один процесс
healthcheck rabbitmq по check_port_connectivity: web и worker стартуют после service_healthy, make dev поднимает сервисы с --wait. Иначе docker-proxy принимает TCP до старта брокера и pika спамит IncompatibleProtocolError. dj_worker: --processes 1 --threads 1 вместо процесса на каждое ядро. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
deaa5b04db
commit
a90c265ff3
2 files changed
+13
-4
No files matched your search
@@ -91,8 +91,9 @@ dj_run:
|
||||
dj_test:
|
||||
$(MANAGE) test --settings=MyPointVPN.settings.test
|
||||
|
||||
# по умолчанию dramatiq берет процессы по числу ядер: для разработки хватает одного потока
|
||||
dj_worker:
|
||||
$(MANAGE) rundramatiq
|
||||
$(MANAGE) rundramatiq --processes 1 --threads 1
|
||||
|
||||
# секреты в .env: дописывает только отсутствующие и пустые, FIELD_ENCRYPTION_KEYS не перезаписывает
|
||||
dj_secrets:
|
||||
@@ -123,7 +124,8 @@ docker_up:
|
||||
DEV_SERVICES := postgres rabbitmq telegram telegram-files
|
||||
|
||||
dev:
|
||||
docker compose up -d $(DEV_SERVICES)
|
||||
@# --wait: rabbitmq до healthy, иначе воркер стучится в еще не открытый порт
|
||||
docker compose up -d --wait $(DEV_SERVICES)
|
||||
@until docker compose exec -T postgres pg_isready -q; do sleep 1; done
|
||||
$(MANAGE) migrate --noinput
|
||||
@# Ctrl+C получают оба процесса
|
||||
|
||||
+9
-2
@@ -61,6 +61,13 @@ services:
|
||||
- "127.0.0.1:15672:15672"
|
||||
volumes:
|
||||
- rabbitmq_data:/var/lib/rabbitmq
|
||||
# docker-proxy принимает TCP еще до старта брокера и сразу рвет соединение: ждем, когда AMQP-порт реально слушается
|
||||
healthcheck:
|
||||
test: [ "CMD", "rabbitmq-diagnostics", "-q", "check_port_connectivity" ]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
start_period: 60s
|
||||
start_interval: 1s
|
||||
|
||||
postgres:
|
||||
image: docker.local/postgres:16.15-alpine3.23
|
||||
@@ -108,7 +115,7 @@ services:
|
||||
migrate:
|
||||
condition: service_completed_successfully
|
||||
rabbitmq:
|
||||
condition: service_started
|
||||
condition: service_healthy
|
||||
telegram:
|
||||
condition: service_started
|
||||
telegram-files:
|
||||
@@ -125,7 +132,7 @@ services:
|
||||
migrate:
|
||||
condition: service_completed_successfully
|
||||
rabbitmq:
|
||||
condition: service_started
|
||||
condition: service_healthy
|
||||
|
||||
volumes:
|
||||
telegram-bot-api-data:
|
||||
|
||||
Reference in new issue
Block a user