Не удается подключиться к серверу redis через docker-compose, я использую фреймворк django_q в качестве асинхронной очереди задач и redis в качестве брокера
Вот моя конфигурация файла docker-compose:
version: '3'
услуги:
redis:
image: redis:alpine
порты: - 6300:6379
db:
image: postgres:12.8-alpine
restart: always
volumes:
- postgres_data:/var/lib/postgresql/data/
env_file:
- ./.env.dev.db
ports:
- 5400:5432
web:
build:
context: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/ps_survey
ports:
- 8000:8000
env_file:
- ./.env.dev
depends_on:
- redis
- db
django-q:
build: .
command: python manage.py qcluster
volumes:
- .:/ps_survey
env_file:
- ./.env.dev
ports:
- 8001:8000
depends_on:
- redis
volumes: postgres_data:
Вот моя конфигурация qcluster:
Q_CLUSTER = {
'name': 'ps_survey',
'workers': 4,
'recycle': 500,
'timeout': 60,
'compress': True,
'save_limit': 250,
'queue_limit': 500,
'cpu_affinity': 1,
'label': 'Django Q',
'redis': {
'host': '127.0.0.1',
'port': 6300,
'db': 0,
}
}
Это исключение, которое я получаю:
django-q_1 | connection.connect() django-q_1 | Файл "/usr/local/lib/python3.10/site-packages/redis/connection.py", строка 563, in connect django-q_1 | raise ConnectionError(self._error_message(e)) django-q_1 | redis.exceptions.ConnectionError: Ошибка 111 при подключении к 127.0.0.1:6300. Соединение отказано.
В конфигурации qcluster измените хост на redis и порт на 6379, в файле docker-compose, в разделе Redis service, измените порты на 6379:6379.