Skip to main content
ONTAP Automation
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

使用作业对象进行异步处理

贡献者

发出设计为异步运行的 API 请求后,始终会创建一个作业对象并将其返回给调用方。作业将描述并固定处理请求的后台任务。根据 HTTP 状态代码,您必须检索作业状态以确定请求是否成功。

请参见 "API 参考" 确定要异步执行的 API 调用。

控制请求的处理方式

您可以使用 return_timeout query 参数控制异步 API 调用的处理方式。使用此参数可能会产生两种结果。

计时器将在请求完成之前过期

对于有效请求, ONTAP 将返回 202 HTTP 状态代码以及作业对象。您必须检索作业状态以确定请求是否成功完成。

请求在计时器过期之前完成

如果此请求有效并在该时间到期之前成功完成,则 ONTAP 将返回 200 HTTP 状态代码以及作业对象。由于请求已同步完成,如 200 所示,因此您无需检索作业状态。

备注 return_timeout 参数的默认值为零秒。因此,如果不包含参数,则始终会为有效请求返回 202 HTTP 状态代码。

正在查询与 API 请求关联的作业对象

HTTP 响应中返回的作业对象包含多个属性。您可以在后续 API 调用中查询 state 属性,以确定请求是否成功完成。作业对象始终处于以下状态之一:

非终端状态
  • 已排队

  • 正在运行

  • 已暂停

终端状态
  • success

  • 失败

用于发出异步请求的常规操作步骤

您可以使用以下高级操作步骤完成异步 API 调用。此示例假设未使用 return_timeout 参数,或者此时间已到后台作业完成之前。

  1. 问题描述一种设计为异步执行的 API 调用。

  2. 接收 HTTP 响应 202 ,指示接受有效请求。

  3. 从响应正文中提取作业对象的标识符。

  4. 在一个定时环路中,在每个周期中执行以下操作:

    1. 获取作业的当前状态。

    2. 如果作业处于非终端状态,请重新执行环路。

  5. 当作业达到终端状态(成功,失败)时停止。