异步任务入口
具体应用下,通过入口管理配置入口,制定符合当前应用的数据处理操作方式。
此处介绍异步任务入口,即通过分配的域名,创建对应 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)客户端应尽快读取任务结果,避免阻塞;
文档反馈
(如有产品使用问题,请 提交工单)