anonsaber
|
b9b7114fd3
|
feat(ops): scripts/cron-drain.sh,外部调度脚本,参数全走环境变量
后端没有内部调度器(C-NO-LONG-CONN),消费出站队列的唯一入口是 POST /worker,
增量对账的唯一入口是 POST /reconcile,两者都必须外部触发。没有这一步,新邮件
会一直堆在 stalwart:jmap,一行通知都不会发出来。
- 一次触发做两步:先 /reconcile 再 /worker,顺序不可反
- 两个端点成功码都是 204 且响应体为空;401/409/503 各给明确提示
- 503 时把服务端的 Retry-After 一并打进日志,cron 侧不用自己猜
- MW_WORKER_URL 单独可配:/worker 不在 LB 白名单内,走 LB 会 404,脚本会点出来
- --diagnose 走 /debug/*:配置是否保存、chat_id 是否占位值、webhook secret、
Redis/JMAP/Telegram 依赖可达性、游标是否还停在 null
- --test-notify 绕过队列复用生产出站路径直发一条:这条能收到,问题一定在调度
- 凭据只从 MW_* 环境变量读,不读 .env、不写文件,日志不含 token
- --once / --loop;MW_BATCH(服务端上限 10,超出提示)、MW_LOG_FILE、MW_TIMEOUT
- 退出码 0/1/2 二值,失败步数看日志行数
|
2026-09-30 22:24:41 +08:00 |