平台管理
站点健康和失败任务
平台管理员标题在每次页面加载时运行七个健康检查。
绿点表示平台已完全配置;琥珀色或红色表示需要注意某些事项。
/admin/jobs/failed 页面显示同一图片的失败作业方面。
七个检查
| 检查 | 严重性 | 验证什么 |
|---|---|---|
| Failed jobs | 严重 | failed_jobs 中的行数。任何 > 0 将药丸变为琥珀色;> 50 变为红色。 |
| Stripe | 警告 | 设置了 cashier.secret。没有它,没有计划同步,也没有结账工作。 |
| LLM provider | 警告 | 至少一个:Cloudflare 账户 + token、OpenAI key、OpenRouter key。 |
| Vector store | 警告 | Cloudflare Vectorize 索引名称或 Qdrant URL。 |
| 警告 | 邮件驱动程序 + 发件人已配置。邀请、密码重置、潜在客户通知需要。 | |
| Reverb | 警告 | 设置 Reverb app key + secret。没有它,收件箱不会实时更新。 |
| Cache | 警告 | Redis 缓存可访问。热路径在此缓存检索结果;慢缓存意味着响应更慢。 |
分数和标签
标题药丸聚合:score = 通过检查的百分比。
label 从 Strong(≥ 90%)到 Stable(≥ 70%)
到 Watchlist(≥ 50%)到 Critical(低于 50% 的任何内容)。
药丸颜色跟随:Strong 为绿色,Stable / Watchlist 为琥珀色,Critical 为红色。
下拉菜单中的每个通知都有到相关配置页面的深层链接,因此您可以在两次点击中修复它。
失败的作业
打开 /admin/jobs/failed 查看完整列表。每行显示:
- Job name — 队列 + 类。
- Connection — 连接。
- Failed at — 最后一次尝试失败的时间。
- Exception — 跟踪的第一行,可扩展。
- Retry — 使用相同的负载重新排队作业。
- Forget — 删除行。
该页面还有 Retry all 和 Flush all 按钮。 在修复瞬态中断后使用 Retry all(LLM 提供商宕机;作业失败;提供商恢复)。 只有在您确定故障无法恢复时才使用 Flush。
常见故障形状
按队列:
- crawl — 通常是来自上游站点的 4xx/5xx 或 Browserless 速率限制。重试一次;如果持续存在,则源 URL 已死。
- index — 通常是 LLM 嵌入速率限制或 Vectorize 配额问题。在速率窗口重置后重试。
- default — 其他任何内容(使用事件、间隙检测、webhook 交付)。查看异常。
Webhook 交付失败
潜在客户捕获调度器(SignedDispatcher)是单次尝试 —
潜在客户已经持久化,因此失败的交付在工作流运行日志中显示,而不是阻塞访客。
工作流步骤 webhooks(DispatchWebhookJob)通过 Laravel 的队列重试机制
最多重试 3 次;第三次失败后,作业进入 failed_jobs,
负载中包含目标 URL + 签名,因此您可以在接收器修复后手动重放。
Horizon
如果您启用了 Laravel Horizon,/horizon 显示实时队列吞吐量、
等待时间、失败作业率和每个作业类的直方图。建议在部署期间在选项卡中保持打开。
Site Health pill — 每种颜色的含义
| 颜色 | 分数 | 含义 | 操作 |
|---|---|---|---|
| 绿色 | ≥ 90% (Strong) | 一切正常。 | 无。 |
| 琥珀色 | 50% – 89% (Stable / Watchlist) | 一个或多个警告;产品仍然可用。 | 点击药丸,有空时修复损坏的内容。 |
| 红色 | < 50% (Critical) | 多个检查失败或关键严重性检查(例如 failed-jobs 激增)。 | 放下一切。产品可能对某些客户明显损坏。 |