长时任务
概览
长时任务(Long job):在分布式系统中,针对耗时较长的任务,采用FlowChain技术将业务逻辑拆成多个Flow依次执行,有效避免API超时导致任务失败的问题。
清单
属性(Properties)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 请参见资源属性 | 2.3 | ||
| name | 请参见资源属性 | 2.3 | ||
| description | 请参见资源属性 | 是 | 2.3 | |
| jobName | 任务名称 | 2.3 | ||
| jobData | 任务数据 | 2.3 | ||
| jobResult | 任务结果 | 2.3 | ||
| managementNodeUuid | 管理节点uuid | 2.3 | ||
| apiId | 用于关联TaskProgress的APIID | 2.3 | ||
| targetResourceUuid | 目标资源UUID | 2.3 | ||
| state | 任务状态 | 2.3 | ||
| groupBy | ||||
| createDate | 请参见资源属性 | 2.3 | ||
| lastOpDate | 请参见资源属性 | 2.3 |
示例
{
"apiId": "faf95996726e4381aa5226f912857338",
"createDate": "Jan 30, 2018 3:56:43 PM",
"jobData": "{"volumeUuid":"3d261d02dc2142eb9806750847d6a4fb","srcPri 04e5aa031fc92e8ddff31","type":"NFSTONFSVOLUME","vmInstanceUuid":"682c775b19f546f 6c27e8ff05c4780bf6d2fa65700f22e","userUuid":"36c27e8ff05c4780bf6d2fa65700f22e"," :-1,"headers":{},"id":"85fb934a7b8e40ab9d9a730c63429a36","createdTime":151729900
"jobName": "APIPrimaryStorageMigrateVolumeMsg",
"jobResult": "Succeeded",
"lastOpDate": "Jan 30, 2018 3:56:43 PM",
"managementNodeUuid": "b44bfa17ef294a75824db6e455b183fa",
"name": "APIPrimaryStorageMigrateVolumeMsg",
"state": "Succeeded",
"uuid": "b7e65467cffe4bcd9d7ca09ec77d35e8"
}
操作(Operations)
提交长时任务(SubmitLongJob)
管理员可以使用SubmitLongJob提交长时任务。例如:
SubmitLongJob jobData={volumeUuid:3d261d02dc2142eb9806750847d6a4fb,dstPrimaryStorageUuid:3024617c6eee45e0845430fef8b8a7f3} \
jobName=APIPrimaryStorageMigrateVolumeMsg参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| name | 资源名称 | 是 | 2.3 | |
| description | 资源的详细描述 | 是 | 2.3 | |
| jobName | 任务名称 | 2.3 | ||
| jobData | 任务数据 | 2.3 | ||
| resourceUuid | 资源UUID | 是 | 2.3 | |
| targetResourceUuid | 是 | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
更新长时任务(UpdateLongJob)
用户可以使用UpdateLongJob更新长时任务。
例如:
UpdateLongJob uuid=dee3e1e3706f3e52a2cb9a47850508e7参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 3.9.0 | ||
| name | 资源名称 | 是 | 3.9.0 | |
| description | 资源的详细描述 | 是 | 3.9.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.9.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.9.0 | |
| timeout | 是 |
删除长时任务(DeleteLongJob)
管理员可以使用DeleteLongJob删除长时任务。例如:
DeleteLongJob uuid=7e42d390839e4fb2afe94e032de2f19d参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 任务uuid | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
查询长时任务(QueryLongJob)
管理员可以使用QueryLongJob查询长时任务。例如:
QueryLongJob jobName=APIPrimaryStorageMigrateVolumeMsg原生域查询(Primitive Fields of Query)
标签(Tags)
用户可以使用CreateUserTag resourceType=LongJobVO创建用户标签。
例如:
CreateUserTag resourceType=LongJobVO tag=Test1 \
resourceUuid=3fd25b9e5b87423bba5612a45c1f5ecc