feat: add local crontab scheduler service

This commit is contained in:
hajimi
2026-08-01 16:08:01 +08:00
parent 759ba34227
commit 5633c9b51f
2 changed files with 18 additions and 0 deletions
+16
View File
@@ -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
+2
View File
@@ -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. 移动端首页设计稿还原