轮换器移除了最后一个符合条件的端点。下一个任务会怎样?

这个决定应当是明确的。空列表并不是某种特殊类型的可用代理。随机选择的异常、缺失的元数据字段,以及返回 None,都可能把下一层推向不同的路径。

对于需要已批准代理路由的任务,在派发前选择以下结果之一:

  • 在任务剩余截止时间内,等待一次已知的恢复或刷新。
  • 以明确的“池不可用”结果失败。
  • 使用另行配置并已批准的兜底方案。

静默省略代理则是完全不同的策略。取决于客户端,它可能启用环境默认值或直连路径。由此得到的成功 HTTP 响应,可能掩盖了所需中间层从未被使用这一事实。

要把提供方返回的空响应,与所有端点都在临时冷却的池区分开来。前者可能需要发现服务的诊断;后者可能已经有计划好的恢复时间。在紧密循环中反复拉取同一份空列表,对两者都没有帮助。

报告池的状态和所做的决定,并移除其中的机密信息。“没有可用代理;任务已停止”比来自调用方根本无意选择的路径的通用连接错误更便于采取行动。

相关文章