feat: async task pipeline for media and llm workflows

这个提交包含在:
cryptocommuniums-afk
2026-03-15 00:12:26 +08:00
父节点 1cc863e60e
当前提交 20e183d2da
修改 36 个文件,包含 1961 行新增339 行删除

查看文件

@@ -6,9 +6,10 @@
- `db` 容器MySQL 8,数据持久化到 `db-data`
- `migrate` 容器:一次性执行 Drizzle 迁移,成功后退出
- `app` 容器Node 应用,端口 `3000`
- `app-worker` 容器Node 后台任务 worker,共享应用卷与数据库
- 宿主机公开调试端口:`8302 -> app:3000`
- `media` 容器Go 媒体服务,端口 `8081`
- `worker` 容器Go 媒体归档 worker,共享媒体卷
- `media-worker` 容器Go 媒体归档 worker,共享媒体卷
- `app-data` 卷:上传视频等本地文件存储
- `db-data`MySQL 数据目录
- `media-data` 卷:录制片段、会话状态、归档成片
@@ -32,6 +33,13 @@ docker compose up -d --build
- `MYSQL_PASSWORD`
- `MYSQL_ROOT_PASSWORD`
- `LLM_API_KEY`
- `APP_PUBLIC_BASE_URL`
- `LLM_VISION_MODEL`
如需启用独立视觉模型端点,再补:
- `LLM_VISION_API_URL`
- `LLM_VISION_API_KEY`
## nginx
@@ -54,6 +62,7 @@ systemctl reload nginx
- `curl http://127.0.0.1:3002/api/trpc/auth.me`
- `curl http://te.hao.work:8302/`
- `curl http://127.0.0.1:8081/media/health`
- `docker compose exec app-worker node dist/worker.js --help` 不适用;应通过 `docker compose ps app-worker` 确认 worker 常驻
## External access links
@@ -77,4 +86,4 @@ systemctl reload nginx
2. 回退 Git 版本
3. 重新执行 `docker compose up -d --build`
如果只需停止录制链路,可单独关闭 `media``worker`,主站业务仍可继续运行。
如果只需停止录制链路,可单独关闭 `media``media-worker`,主站业务仍可继续运行;如需暂停训练计划/动作纠正等后台任务,再额外停止 `app-worker`