diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index 71f3090..57837fa 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -15,6 +15,22 @@ services: networks: - sport-era-dev + scheduler: + image: registry.cn-guangzhou.aliyuncs.com/likeadmin/php:8.0.30.3-fpm + working_dir: /likeadmin_php/server + restart: unless-stopped + depends_on: + mysql: + condition: service_healthy + redis: + condition: service_healthy + command: >- + sh -c "while true; do php think crontab; sleep 60; done" + volumes: + - ../server:/likeadmin_php/server + networks: + - sport-era-dev + nginx: image: registry.cn-guangzhou.aliyuncs.com/likeadmin/nginx:1.23.1 restart: unless-stopped diff --git a/docs/业务进度管理.md b/docs/业务进度管理.md index 792fe52..7d75746 100644 --- a/docs/业务进度管理.md +++ b/docs/业务进度管理.md @@ -22,6 +22,7 @@ - 编排包含 MySQL 8.2 与 Redis 7.4 服务,数据分别绑定持久化到根目录下的 `docker/data/mysql` 和 `docker/data/redis`,删除容器不会删除宿主机数据。 - 本地默认端口为 MySQL `3307`、Redis `6379`,均可通过 Compose 环境变量覆盖。 - 本地 `server/.env` 已切换为 Docker 网络内的 `mysql:3306` 与 `redis:6379`;该私有环境文件不入库、不影响测试服配置。 +- 新增独立 `scheduler` 服务,每分钟执行一次 `php think crontab`;PHP-FPM 与定时任务进程保持隔离。`crawler` 类任务由命令自身跳过,仍应使用独立 crawler 容器调度。 - server 通过 Nginx 暴露在 `http://localhost:8000`,管理端与 H5 分别使用项目现有端口 `5176`、`5177`;H5 本地开发 API 地址同步为 `http://localhost:8000`。 - 已完成容器启动与 HTTP 访问验证,三个入口均可正常响应。 @@ -34,6 +35,7 @@ - 已执行 `docker compose -f docker/docker-compose.dev.yml up -d`,并核验容器状态、H5 编译日志及三个 HTTP 入口。 - 已核验 MySQL 版本为 `8.2.0`、MySQL/Redis 健康检查通过,并验证宿主机端口可连接。 - 已从 Server 容器验证可连接 MySQL 与 Redis。 +- 已验证 `scheduler` 成功执行短信校验、主题文章翻译、AI 知识库消费与增量入队任务,并在 `la_dev_crontab_log` 生成成功日志。 ### 89. 移动端首页设计稿还原