gongxiangp2/docs/production-worker-readiness.md

2.1 KiB
Raw Blame History

应用发布的后台处理器就绪检查

正式应用沿用 direct 单槽短暂停机替换。HTTP 健康检查通过后,后台处理器可能仍在异步初始化;健康检查不替代上传、转码的能力检查。

重新创建容器时,从临时环境文件中移除部署器负责的两类 worker/instance/runtime 字段及 DEPLOYMENT_VERSION,随后只加入本次实例的唯一值。原环境文件不修改,用户配置、个人 Key、平台密钥和转码并发设置均保留。

切换流量前,发布脚本最多等待 60 秒,固定本次候选的容器 ID 和实例编号。只有同一存活容器的转码、任务详情上传两种能力文件均匹配本次提交、worker 和 instance,才继续原有逐项校验。旧能力文件、候选退出、容器被替换或等待超时均不能通过。等待只读状态,不重启候选、不重新部署、不改写能力文件。

需要自动回退时,先尝试把候选最后 400 行日志和有限状态留在本项目当前 release.env 的父目录下:

/mnt/PoolOne/apps/youyidian-3d/releases/native-final-<SHA>/diagnostics/<候选>-<时间>-<随机编号>/

目录权限为 0700,文件为 0600。状态只包含容器身份、运行状态及两类处理器的非密配置,不保存环境变量全集;原始日志可能含敏感业务信息,只保留服务器私有文件,发布输出仅返回目录路径。证据保存失败仍执行原有回退,不以收集诊断为由保留不健康候选。

2026-10-22 首次候选未通过转码能力检查,已回退到 419602a1。只读检查发现,从运行容器捕获的环境再叠加 -e 会保留重复实例字段;旧门禁取第一项,进程发布的能力文件对应最后一项,导致编号不匹配。修复只作用于新容器构造,不改线上原环境文件。候选自身 json-file 日志已随删除丢失,因此不能排除候选还存在其他初始化问题;新增的有界等待和回退前私有留证继续保留。不会绕过能力检查,也不会据此重发任何模型请求。