Expand description
附件的存储与下载:响应里只列 {id, format, bytes, hash},内容用 GET /v2/attachments/{id} 取。
- 保留期与结果相同(
crate::jobs::JOB_TTL,任务结果的保留期);每次再出现同一内容就续期。 - 内容寻址(id 是 SHA-256 前缀加扩展名),同一内容只存一份。
- 占用有上限:内存预算(
pagesift_net::resources::budget)的δ,超出时先淘汰最早过期的。 - 先存在进程内存里。服务开了任务持久化(有存储)时同时写进存储(HTTP API;MCP 只用内存),内存里淘汰了、 或者服务重启了,下载接口从存储里取,到期前链接一直有效;0.90 只存内存,重启或被新图片挤掉后 链接就 404,而任务结果还在。到期的在启动时和下次访问时从存储删掉。
- 有温备时(网关的任务镜像),附件的写入和删除同任务记录一样复制到温备,快照里也带着;
单个附件超过一条复制记录的上限(帧上限的一半,
crate::JobLog::max_op)时只存本地、记警告, 温备接管后这个附件的链接 404。 - 没有存储时只在内存里:重启后没了,内存满了先淘汰最早过期的(易失缓存,不是可靠交付)。
- 下载接口和其他抓取接口一样在鉴权之后;id 是 128 位哈希前缀,猜不到。