重试瞬态错误和表面失败的密钥( 不要伪造过关)

FixTranslateService
已装运
2026年5月10日 04:33 UTC
作者
Kamo
提交
c0a87b7

两种失败模式在反应中无法区分,所以脚本 无法分辨 并保持"翻译"相同的英语密钥 在每次同步运行时,随机子集会因哪个精确而成功 LibreTranslate 请求在工人重启时降落: 1. 提供者出错(超时出错,5xx,中途启动时拒绝连接) 2. 提供方成功但返回源未改变(合法“否” ——适当的名词,名牌等). 两人最终将源头写成翻译. 变化 : * 自由翻译器 / Bergamot 提供器: 1s/3s的3次尝试 瞬间故障的后置( 5xx, 429, 超时, 连接) 错误); 4xx(非-429) 因为重试 a 错误的请求永远不会有帮助。 呼叫请求暂停 = 30s。 重试疲劳而不是返回源文本 。 * 提供商Router:现在区分“每一个支持提供者” 从“ 至少一个成功但返回源” 出错( 扔出) (合法通过-回文). 无支持不变. * 按千金计算, 在回复中新建失败的 Keys 列表中收集, 并省略 消息中的密钥失败 。 * Batch Translate Response:添加失败的Keys字段. * 翻译. ts: 读出失败的Keys, 永远不要写回这些密钥, 所以 已存在的后退 。 英语值已就位——在下次运行时满足 重排这些键进行重试 测试:为“所有提供者错误地扔出”、“at 至少一个成功, 文本返回文本不变, “路由器” 和翻译服务 正确分割到信件 vs 失败 Keys .

所有更改

就像你看到的运输?

每一个都自动更新您工作空间的地盘。 开始自由,看它成长 一周又一周.

永远开始自由查看定价