轮询适合什么
业务侧状态建议
下面是你的业务系统建议保存的状态,不是 Tapapi 内部任务状态。业务状态可以根据产品体验增加retrying、canceled 等中间态。
建议你的业务系统至少保存:
当前图片推荐实现
succeeded。如果模型已经成功但转存失败,不要重复生成,应该重试转存。
视频/异步状态口径
视频和异步任务内部会出现这些状态:
面向客户展示时,可以映射成:
视频任务成功后可能有结果 URL、进度、失败原因和异步计费调整。具体字段以受控开放接口返回为准,不建议在公开业务里提前写死未确认字段。
code、message、status_code 语义,而不一定是普通同步接口的 { "error": ... } 结构。业务侧应统一记录任务 code、message、HTTP 状态码、task_id 和模型名。
失败与计费
业务队列里要把“请求失败”和“图片保存失败”分开:
异步任务可能先预扣额度。任务失败时会走失败返还;任务成功后如果实际消耗和预扣不同,会按最终结果差额结算。对账时以控制台用量和最终
quota 为准。
托管异步任务如果超过平台任务超时窗口,会被标记为失败并进入返还流程;普通图片同步主路径仍建议由你的业务系统维护队列状态、超时状态和补跑次数。
轮询频率建议
图片业务侧队列可以轮询你自己的业务接口:
视频或托管异步任务查询建议更保守:
不要把轮询做成无上限的高频请求。轮询本身也会消耗系统资源,批量任务尤其要控制。