异步任务处理说明

更新时间:
复制为 MD 格式

本文档适用于阿里云视频点播、阿里云智能媒体服务和阿里云媒体处理中的异步媒体处理任务。为异步任务时效的通用说明,并以转码任务作为示例说明任务状态与耗时判断方式。不同任务类型的状态字段、进度字段和查询方式可能存在差异,请以具体产品文档和实际接口返回为准。

概述

阿里云视频点播、阿里云智能媒体服务和阿里云媒体处理提供多种异步媒体处理能力。异步任务是指任务提交后由服务端在后台完成处理,并在处理完成后返回结果的任务类型。

任务提交成功仅表示任务已被受理,不代表任务会立即开始执行,也不代表任务将在固定时间内完成。

异步任务本质上属于离线处理任务。与同步接口不同,异步任务的结果生成时间受任务调度任务量波动任务复杂度源文件特征参数配置等多种因素共同影响。任务总完成时长可能明显高于任务进入实际处理阶段后的处理时长。

因此,异步任务不适合作为强实时业务链路中的阻塞条件,也不建议将文档中的处理速度参考值直接用于估算生产环境的交付时点。

适用范围

本说明适用于阿里云视频点播、阿里云智能媒体服务和阿里云媒体处理中,通过异步方式发起并执行的媒体处理任务,包括但不限于:

  • 媒体转码类任务。

  • 媒体剪辑类任务。

  • 截图与雪碧图类任务。

  • 媒资分析类任务。

  • AI 辅助媒体处理类异步任务。

  • 其他通过异步机制提交并获取结果的媒体处理任务。

不同任务类型在处理链路、耗时特征、任务状态、进度字段、查询方式和结果通知机制上可能存在差异。若具体能力文档有单独说明,请以对应产品文档为准。

通用时效说明

建议在发起任务前完整阅读本节,并据此设计业务流程。

异步任务总耗时通常由两部分组成:

任务总耗时 = 等待时长 + 实际处理时长

其中:

  • 等待时长:任务提交后,在进入实际处理阶段前所经历的等待时间

  • 实际处理时长:任务进入实际处理阶段后,执行任务本身所消耗的时间

重要
  • 返回任务 ID 仅表示任务已成功创建。

  • 实际感知的完成时间是任务总耗时,而不是仅执行阶段的处理时长。

  • 性能参考值仅用于说明典型场景下的处理特征,不构成服务承诺、SLA 指标、交付保证或赔偿依据。

  • 即使任务规格与参考示例相近,实际总完成时长仍可能因等待时长增加而显著高于参考处理时长。

  • 若业务对完成时点有严格要求,请预留缓冲时间,并采用异步解耦、超时兜底与业务降级设计。

关于"总完成时长"与"处理时长"的区别

这是理解异步任务时效的关键。

文档中出现的处理速度、倍速、示例分钟数,仅用于描述任务进入实际处理阶段后的处理速度特征。

用户最终感知到的"多久可以拿到结果",取决于:

  1. 任务进入实际处理前经历了多久等待。

  2. 任务本身实际处理了多久。

因此:

  • 处理时长参考值 ≠ 任务总完成时长。

  • 处理时长参考值不能直接用于推导任务交付时点。

  • 同规格任务在不同时段提交,总完成时长可能存在明显差异。

通用等待时长说明

任务提交后,服务端会根据任务类型、任务量及处理策略安排任务进入实际处理阶段。

在以下情况下,等待时间可能增加:

  • 短时间内集中提交大量任务。

  • 同一时段任务量波动较大。

  • 高复杂度任务占比较高。

说明
  • 任务已提交成功,不代表已经进入实际处理阶段。

  • 等待时长可能随提交时段、任务类型、任务规模及处理链路差异而变化。

  • 请勿在等待期间重复提交相同任务,否则可能造成重复处理并进一步加重整体等待。

  • 建议优先通过异步回调获取任务结果,而非高频轮询。

如需了解当前产品服务状态,可通过以下方式获取:

  • 等待时长的长短受任务量、任务特征等多种因素影响,单纯的等待时间增加不能直接作为判断服务异常的依据。如需确认当前服务状态,建议请求技术支持协助判断。

  • 若出现影响范围较大的服务异常,阿里云将通过站内信、短信等方式通知受影响用户。

通用实际处理时长说明

实际处理时长与任务类型、源文件特征及任务配置密切相关,不同能力的耗时模型并不完全相同。

常见影响因素

影响因素

规律

说明

源文件时长

时长越长,处理时间通常越长

多数媒体处理任务的主要影响因素之一。

输出规格

输出规格越高,处理时间通常越长

如更高分辨率、更复杂输出格式等。

处理算法复杂度

算法越复杂,处理时间通常越长

如高级转码、复杂分析等。

自定义参数

参数越复杂,处理时间通常越长

如增强类参数、多阶段处理等。

源文件特征

特征越复杂,耗时波动越大

如码率、帧率、封装格式、流结构等。

任务类型

不同任务类型耗时模型不同

转码、剪辑、截图、分析等不可简单类比。

任务类型差异说明

  • 转码任务:实际处理时长通常与视频时长、分辨率、编码格式、转码算法及模板参数相关。

  • 剪辑任务:还可能受片段数量、是否重编码、是否跨关键帧裁剪、多片段拼接等因素影响。

  • 截图、雪碧图、分析类任务:耗时判断方式可能与转码不同,是否存在进度字段、状态字段及阶段划分,请以对应文档说明为准。

任务状态与进度说明

不同异步任务的状态字段、进度字段、查询方式和结果返回机制可能存在差异。

本文档中的状态判断逻辑仅用于说明异步任务常见的处理阶段,不代表所有异步任务均采用相同的状态模型。

通用角度看,异步任务通常会经历以下阶段:

image

请注意:

  • 某些任务可能存在可查询的进度字段。

  • 某些任务可能仅返回处理中、完成或失败等较少状态。

  • 某些任务的"等待中"并不是独立状态,而需要结合状态字段与其他字段共同判断。

  • 具体状态定义请以实际接口返回和对应产品文档为准。

转码任务示例说明

以下内容仅用于说明转码任务的状态判断和耗时理解方式,不代表其他异步任务采用相同机制。

转码任务状态说明

以提交转码任务为例,任务查询结果中的状态字段可能显示为 Transcoding(转码中)。

需要注意的是,Transcoding 表示任务已进入转码处理流程,但不一定表示已经开始实际转码。

可结合 TranscodeProgress 字段进一步判断任务所处阶段:

任务状态

TranscodeProgress

含义

建议理解

Transcoding/Submitted

0

尚未进入实际转码处理阶段

等待中

Transcoding/Percent/Running

> 0

已进入实际转码处理阶段

转码中

完成状态

100 或任务完成

转码成功结束

已完成

失败状态

-

转码异常终止

失败

对于转码任务,等待中通常不是独立的状态枚举,而是结合任务状态与转码进度共同判断的阶段性状态。

转码任务处理速度参考

重要

以下参考值仅描述典型测试条件下转码任务进入实际处理阶段后的处理速度特征,不包含等待时长,不代表任务总完成时长,不构成服务承诺。

以 H.264 720P的典型转码场景为参考,不同转码算法的处理速度特征如下:

转码算法

处理速度参考

说明

普通转码

平均约 3 倍速

仅反映典型条件下的处理阶段速度。

窄带高清 1.0

平均约 1.5 倍速

实际处理时长通常高于普通转码。

窄带高清 2.0

通常远低于 1 倍速

处理时长通常长于源视频时长,具体以实际任务为准。

倍速说明

倍速 = 每单位处理时间可完成的视频时长倍数

示例:
3 倍速表示每 1 分钟处理时间可完成约 3 分钟视频内容
则 30 分钟视频在不考虑等待时长的前提下,处理阶段理论耗时约为 10 分钟
说明
  • 上述参考值仅适用于典型 H.264 720P 转码场景。

  • 不适用于估算任务总完成时间。

  • 分辨率更高、编码更复杂、参数更重时,处理速度通常低于上述参考值。

  • 不同源视频的码率、帧率、封装格式和流结构差异,均可能显著影响处理时长。

  • 窄带高清 2.0 的处理复杂度通常显著高于普通转码和窄带高清 1.0。

  • 实际耗时请以任务状态查询或完成通知结果为准。

常见疑问说明

1. 一个 10 分钟的 720P 转码任务,是否一定会在 3~4 分钟内完成?

不一定。

"约 3 倍速"的参考值仅用于说明典型测试条件下,转码任务进入实际处理阶段后的处理速度特征,不包含任务进入实际处理前的等待时间,也不代表生产环境中的任务总完成时长。

客户实际感知到的结果可用时间以任务最终完成时间为准,不建议依据处理速度参考值直接推导任务交付时点。

如任务总耗时超出业务预期,建议参考通用排查建议章节进行排查,或请求技术支持。

2. 为什么我的转码任务状态显示为 Transcoding,但 TranscodeProgress 一直是 0?

因为对于转码任务,Transcoding 表示任务已进入转码处理流程,但并不等同于已经开始实际转码。

当 TranscodeProgress = 0 时,表示任务尚处于等待阶段;当 TranscodeProgress > 0 时,表示任务已进入实际转码处理阶段。

3. 为什么我的任务规格与参考场景接近,但实际完成时间明显更长?

可能原因包括但不限于:

  • 任务在进入实际处理前经历了较长等待

  • 源文件实际特征与典型参考场景存在差异

  • 任务参数或模板配置高于常规复杂度

  • 同时段任务量波动导致总完成时间上升

如需进一步确认原因,建议请求技术支持并提供任务ID协助排查。

4. 等待时间增加是否一定代表服务异常?

不一定。

等待时长的长短受任务量、任务特征等多种因素影响,单纯的等待时间增加不能直接作为判断服务异常的依据。如需确认当前服务状态,建议请求技术支持协助判断。

5. 我能否依据处理速度参考值来承诺我的业务交付时间?

不建议。

处理速度参考值仅用于帮助理解任务处理特征,不应直接作为生产环境交付时间、业务 SLA 或对终端用户的承诺依据。

对于存在严格时效要求的业务场景,建议在业务架构中预留缓冲时间,并设置超时兜底与降级机制。

6. 其他异步任务是否也能按转码任务的状态方式判断?

不一定。

转码任务示例中的 Transcoding 与 TranscodeProgress 为转码任务特有的示例口径。

对于剪辑、截图、雪碧图、媒资分析及其他异步任务,其状态字段、进度字段和判断方式可能与转码任务不同,请以具体任务的查询接口和产品文档为准。

关键操作说明

发起任务

用户通过 API 提交异步任务后,服务端会返回任务ID。

任务 ID 是查询状态、关联结果通知及排查问题的唯一标识,请妥善保存。

结果通知

任务处理完成后,如已配置回调地址,服务端可主动推送结果通知。用户可基于回调自动感知任务完成情况,无需持续轮询。

回调使用说明

  • 建议在生产环境中优先使用回调方式获取结果。

  • 若回调地址不可达,服务端会按既定策略自动重试。

  • 若多次重试后仍未送达,请通过查询 API 主动确认任务最终状态。

  • 回调通知可能因网络波动或客户侧异常出现延迟送达或重复投递。

  • 用户侧回调处理逻辑应基于任务 ID 做幂等校验。

  • 最终任务状态请以查询 API 返回结果为准。

回调配置与重试机制详细说明:回调配置

查询任务

用户可通过任务 ID 主动查询任务当前状态及处理结果,适用于以下场景:

  • 未配置回调通知。

  • 已配置回调,但需主动确认当前进度。

  • 任务耗时超出业务预期。

  • 回调通知接收失败时作为兜底方式。

关于任务信息的查询

当前查询接口主要返回任务状态、进度及结果信息。若任务耗时明显超出业务预期,建议结合任务状态变化、提交时间及任务配置进行排查;如仍无法判断原因,可请求技术支持提供任务 ID协助分析。

通用排查建议

当任务耗时超出业务预期时,建议按以下步骤处理:

1:确认任务是否已完成

通过任务 ID 查询任务当前状态或结果:

  • 若任务已完成,获取结果并评估总耗时。

  • 若任务失败,请查看错误码和错误信息。

  • 若任务仍未完成,请继续结合具体任务类型判断是否处于等待或处理中阶段。

2:结合任务类型判断当前阶段

  • 对于转码任务:可结合 Transcoding 状态与 TranscodeProgress 判断是否进入实际转码处理阶段。

  • 对于其他异步任务:请以对应任务的查询接口返回字段和文档说明为准,不应直接套用转码任务的判断方式。

3:结合任务特征初步判断可能原因

现象

可能原因

建议处理

长时间无结果返回

任务量波动、等待时间增加、服务异常或任务本身复杂

查看服务状态页,必要时请求技术支持。

处理时间明显长于常见任务

源文件复杂、参数较重、任务复杂度高

核对源文件与配置,必要时联系支持。

任务失败

源文件异常、参数错误或处理异常

查看错误码说明并按提示修复。

查询无结果

任务 ID 错误或任务未提交成功

核对提交结果与任务 ID。

4:请求技术支持时建议提供的信息

如需技术支持协助排查,请尽量提供以下信息:

  • 任务 ID。

  • 任务提交时间。

  • 任务类型(转码、剪辑、截图、分析等)。

  • 源文件时长、分辨率、编码格式。

  • 模板配置或处理参数。

  • 是否批量提交。

  • 问题现象及影响范围。

推荐集成方式

方式

说明

适用场景

异步回调(推荐)

任务完成后由服务端主动推送结果

生产环境、正式业务场景

轮询查询

定时查询任务状态与结果

调试、测试及回调异常时的兜底场景

集成建议

  • 生产环境建议优先使用异步回调。

  • 避免高频轮询,以减少无效请求。

  • 提交任务时应做好幂等控制,避免重复提交。

  • 批量任务建议错峰提交,避免短时间集中排队。

  • 建议建立任务超时监控、告警和人工兜底机制。

  • 对关键业务场景请预留足够缓冲时间,并设计业务降级方案。

  • 不要将处理速度参考值直接用于生产交付承诺。

SLA 与责任边界说明

  • 如怀疑因服务异常导致任务处理延迟,请求技术支持并提供任务 ID 及相关信息,以便协助排查。

  • 服务可用性、责任认定及赔偿范围以正式服务协议及 SLA 约定为准。

  • 文档中的任务耗时说明、处理速度参考值、示例和 FAQ 仅用于帮助理解异步任务处理机制,不构成单独的完成时效承诺、服务补偿依据或业务赔付依据。

温馨提示

为降低异步任务时延波动对业务的影响,建议您:

  • 在系统设计中采用异步解耦方式处理媒体任务

  • 通过回调或状态查询感知任务结果,而非同步阻塞等待

  • 为高峰期、批量任务、复杂任务预留额外缓冲时间

  • 建立任务超时告警、人工介入和业务兜底机制

如有更多疑问,请查阅对应产品文档。