fix(api): 修复邮件队列超时并补齐调度进程

延长 SendEmailJob 超时并改为超时直接失败,补充重试退避、
失败日志与收件人脱敏,避免 send_email 队列批量超时重试。

新增 MAIL_TIMEOUT 与 QUEUE_RETRY_AFTER 配置,并抽出邮件运行时
配置与 HTML 内容服务,确保 Horizon 常驻进程使用最新邮件配置。

为 Docker、supervisor 与 compose 样例补齐 scheduler 进程,并在
节点管理端开启墙检测托管时立即触发一次检测,保证定时任务持续生效。
This commit is contained in:
yinjianm
2026-04-28 13:32:58 +08:00
parent 329d52f89f
commit a4e78b864a
36 changed files with 1359 additions and 107 deletions
@@ -0,0 +1,77 @@
# 任务清单: xboard-reusable-server-deploy
> **@status:** completed | 2026-04-28 13:15
```yaml
@feature: xboard-reusable-server-deploy
@created: 2026-04-28
@status: completed
@mode: R2
```
## LIVE_STATUS
```json
{"status":"completed","completed":5,"failed":0,"pending":0,"total":5,"percent":100,"current":"部署模板、脚本、说明和知识库同步完成","updated_at":"2026-04-28 13:15:33"}
```
## 进度概览
| 完成 | 失败 | 跳过 | 总数 |
|------|------|------|------|
| 5 | 0 | 0 | 5 |
---
## 任务列表
### 1. 部署模板
- [√] 1.1 新增 `deploy/xboard-server/compose.yaml`
- 预期变更: 基于用户当前服务器 compose 结构新增可复用模板,包含 `web / horizon / scheduler / admin / ws-server / redis` 服务。
- 完成标准: `scheduler` 执行 `php artisan schedule:work`;服务镜像、端口、volume、depends_on 可通过 `.env` 配置。
- 验证方式: 代码审查 YAML 结构;可用时执行 `docker compose config`
- depends_on: []
- [√] 1.2 新增 `deploy/xboard-server/.env.example``.gitignore`
- 预期变更: 提供部署变量模板,并避免提交真实 `.env` 与运行时数据目录。
- 完成标准: `.env.example` 覆盖镜像、端口、Laravel、数据库、Redis、邮件、上传代理等关键变量。
- 验证方式: 检查 compose 中引用的变量均有默认或示例值。
- depends_on: [1.1]
- [√] 1.3 新增 `deploy/xboard-server/scripts/*.sh`
- 预期变更: 提供初始化、部署、更新、状态检查脚本。
- 完成标准: 脚本创建所需目录;默认不自动迁移生产数据库;`update.sh --migrate` 可显式执行迁移。
- 验证方式: `sh -n deploy/xboard-server/scripts/*.sh`
- depends_on: [1.2]
### 2. 文档与知识库
- [√] 2.1 新增 `deploy/xboard-server/README.md`
- 预期变更: 说明首次部署、更新、迁移、日志、scheduler 检查、墙检测手动触发和常见问题。
- 完成标准: 用户可按文档从空服务器完成目录初始化与服务启动。
- 验证方式: 人工审查命令顺序与当前 compose 拓扑一致。
- depends_on: [1.1, 1.2, 1.3]
- [√] 2.2 同步 `.helloagents` 知识库与变更记录
- 预期变更: 更新部署模块说明或 CHANGELOG,记录 scheduler 对墙检测自动化的依赖。
- 完成标准: 知识库反映 `deploy/xboard-server` 的用途和文件范围。
- 验证方式: 检查 `.helloagents/modules``CHANGELOG.md` 相关条目。
- depends_on: [2.1]
---
## 执行日志
| 时间 | 任务 | 状态 | 备注 |
|------|------|------|------|
| 2026-04-28 13:15 | 验证 | completed | `sh -n` 通过;Compose 结构文本检查通过;`git diff --check` 通过,本机无 docker/php/composer |
| 2026-04-28 13:14 | 知识库同步 | completed | 新增 deploy 模块,更新 context、node-gfw-check 与 CHANGELOG |
| 2026-04-28 13:13 | 部署模板 | completed | 新增 compose、env 模板、脚本与 README |
| 2026-04-28 13:03 | 方案设计 | completed | 确定新增 `deploy/xboard-server` 自包含部署模板 |
---
## 执行备注
- 用户当前生产 compose 没有 scheduler 服务,是自动墙检测不持续执行的主要部署风险。
- 模板不包含 MySQL 服务,沿用用户现有外部数据库模式。