👽async_api装饰器用法

当接口是异步接口,怎么做判断异步结果?

aomaker提供了@async_api来标记异步接口,示例如下:

from aomaker.base.base_api import BaseApi
from aomaker.aomaker import dependence, async_api

from apis.cluster import cluster

from utils import wait_job


class Job(BaseApi):

    @async_api(wait_job, 'hpcjob_uuid')
    @dependence(cluster.get_cluster_list, 'hpc_cluster_id', cluster_type='hpc')
    def submit_hpc_job(self, test_data):
        ...
        return resp

使用步骤:

  1. from aomaker.aomaker import async_api导入@async_api装饰器
  2. @async_api装饰器接收两个必传参数:
    1. 第一个参数,自己编写的轮询函数(注意接收的是函数对象,不要加括号直接调用)
    2. 第二个参数,从目标接口的响应中根据jsonpath表达式提取异步任务id
    3. 非必填参数,jsonpath表达式提取出的值是list,可以根据自身需求指明需要提取哪个,默认值为0
    4. 若轮询函数需要接收参数,也可以通过关键字参数传入

当一个接口被打上这个标记,那么会在接口被请求完成后,会开始执行自己编写的轮询函数,来判断该异步接口的异步任务结果是否得到预期结果。

results matching ""

    No results matching ""