智能多媒体服务

  • 智能多媒体服务 > API 文档 > 异步任务入口

    异步任务入口

    最近更新时间: 2021-10-12 14:30:21

    具体应用下,通过入口管理配置入口,制定符合当前应用的数据处理操作方式。
    此处介绍异步任务入口,即通过分配的域名,创建对应 HTTP 接口的异步调用,关于发任务、查任务两部分的内容如下:

    发任务

    请求

    POST https://<app-name>.async-z0.qiniuapp.com/...
    Authorization: Qiniu <AccessToken>
    

    注意:
    1)<app-name>替换为真实的部署应用名;
    2)请求需要进行Qiniu签名;

    返回结果

    {
        "id": "01aa8888888888888888888888888888" // 异步任务ID
    }
    

    查任务

    请求

    GET https://async.qiniuapp.com/v1/task/<id>
    Authorization: Qiniu <AccessToken>
    

    注意:
    1)<id>替换为发任务时返回的真实ID;
    2)请求需要进行Qiniu签名;

    返回结果

    {
        "id": "01aa8888888888888888888888888888", // 异步任务ID
        "req_id": "0AXXX...",
        "request": {
            "method": "POST",
            "path": "/...",
            "raw_query": "?key=value&...",
            "header": {
                "Content-Type": ["application/json"],
                ...
            },
            "body": "AAA...AAA==" // base64 encoded string
        },
        "created_at": 123123123, // 任务创建时间,纳秒Unix时间戳
        "state": 10, // 0 - waiting | 1 - doing | 10 - success | 11 - failed
        "response": {
            "status_code": 200,
            "header": {
                "Content-Type": ["application/json"],
                ...
            },
            "body": "AAA...AAA==" // base64 encoded string
        },
        "exec_at": 123123123 // 任务完成时间,纳秒Unix时间戳
    }
    

    监听任务结果

    请求连接

    WebSocket https://async.qiniuapp.com/v1/tasks?app=<app-name>
    Authorization: Qiniu <AccessToken>
    

    注意:
    1)<app-name>替换为真实的部署的应用名;
    2)请求需要进行Qiniu签名;
    3)连接数存在限制,不要同时保持过多连接数;

    保持连接心跳

    send `OK`
    

    注意:
    1)定时发送心跳OK,间隔小于15秒;
    2)间隔大于15秒未发送心跳,服务端将断开连接;

    获取任务结果

    recv `{...}`
    

    注意:
    1)服务端将定时向客户端发送任务结果;
    2)客户端应尽快读取任务结果,避免阻塞;

    以上内容是否对您有帮助?
  • Qvm free helper
    Close