1
0
forked from erp-dev/erp

fix: redis for worker

This commit is contained in:
2026-01-12 14:20:08 +08:00
parent ae88be28ed
commit f55a32376d
4 changed files with 29 additions and 0 deletions

View File

@@ -122,6 +122,9 @@ services:
DB_NAME: flower
DB_USER: postgres
DB_PASSWORD: postgres
# 缓存Redis连接容器内用服务名访问
CACHE_HOST: redis
CACHE_PORT: "6379"
# Celery 连接配置:容器内用服务名访问
CELERY_BROKER_HOST: rabbitmq
CELERY_RESULT_HOST: redis
@@ -156,6 +159,9 @@ services:
DB_NAME: flower
DB_USER: postgres
DB_PASSWORD: postgres
# 缓存Redis连接容器内用服务名访问
CACHE_HOST: redis
CACHE_PORT: "6379"
# Celery 连接配置:容器内用服务名访问
CELERY_BROKER_HOST: rabbitmq
CELERY_RESULT_HOST: redis

View File

@@ -104,6 +104,9 @@ services:
DB_NAME: "${DB_NAME:-flower}"
DB_USER: "${DB_USER:-postgres}"
DB_PASSWORD: "${DB_PASSWORD:-postgres}"
# 缓存Redis连接容器内用服务名访问
CACHE_HOST: ${CACHE_HOST:-redis}
CACHE_PORT: "${CACHE_PORT:-6379}"
# Celery 连接配置:容器内用服务名访问
CELERY_BROKER_HOST: ${CELERY_BROKER_HOST:-rabbitmq}
CELERY_BROKER_PORT: "${CELERY_BROKER_PORT:-5672}"
@@ -143,6 +146,9 @@ services:
DB_NAME: "${DB_NAME:-flower}"
DB_USER: "${DB_USER:-postgres}"
DB_PASSWORD: "${DB_PASSWORD:-postgres}"
# 缓存Redis连接容器内用服务名访问
CACHE_HOST: ${CACHE_HOST:-redis}
CACHE_PORT: "${CACHE_PORT:-6379}"
# Celery 连接配置:容器内用服务名访问
CELERY_BROKER_HOST: ${CELERY_BROKER_HOST:-rabbitmq}
CELERY_BROKER_PORT: "${CELERY_BROKER_PORT:-5672}"

View File

@@ -126,6 +126,9 @@ services:
DB_NAME: flower
DB_USER: postgres
DB_PASSWORD: postgres
# 缓存Redis连接容器内用服务名访问
CACHE_HOST: redis
CACHE_PORT: "6379"
# Celery 连接配置:容器内用服务名访问
CELERY_BROKER_HOST: rabbitmq
CELERY_RESULT_HOST: redis
@@ -158,6 +161,9 @@ services:
DB_NAME: flower
DB_USER: postgres
DB_PASSWORD: postgres
# 缓存Redis连接容器内用服务名访问
CACHE_HOST: redis
CACHE_PORT: "6379"
# Celery 连接配置:容器内用服务名访问
CELERY_BROKER_HOST: rabbitmq
CELERY_RESULT_HOST: redis

View File

@@ -94,7 +94,18 @@ MIDDLEWARE = [
原因:`Product` 模型没有设置 `unique_together = ('merchant', 'human_id')` 约束,多同步源可能导致重复数据,`get_or_create` 会抛出 `MultipleObjectsReturned` 错误。
### 9. 修复 Docker Compose 中 Celery 服务缺少 CACHE_HOST 配置
在以下文件中为 `celery_worker``celery_beat` 服务添加 `CACHE_HOST``CACHE_PORT` 环境变量:
- `docker-compose.yml`
- `docker-compose.dev.yml`
- `docker-compose.prod.yml`
问题原因:`settings.py``CACHE_HOST` 默认值为 `localhost`,在容器化环境中无法连接到 Redis 服务。
## 待办事项
- [ ] 执行数据库迁移 (`uv run python manage.py migrate`)
- [ ] 测试中间件功能
- [ ] 重启 Docker 容器使配置生效