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 получают оба процесса
|
||||
|
||||
Reference in new issue
Block a user