获取任务信息

该接口用于获取任务信息,返回的数据 schema 和创建任务接口的返回是一致的,但是不管是创建任务接口还是获取任务信息,返回的都是响应的时候任务的当前信息,所以可以轮询请求该接口来跟进任务的状态变化。

GET

接口路径:http://matpool.com:30100/v1/job

示例:

curl --request GET \
  --url 'http://matpool.com:30100/v1/job?id=<YOUR_JOBID>' \
  --header 'Authorization: Bearer <YOUR_TOKEN>'
Required Name Value Description
✔︎ Authorization Bearer <token> 用户鉴权

Query

Required Name Example Description
✔︎ id 525 JOBID,从创建任务返回的数据中获取

Response

Normal

job.status 的含义:

  • 1:排队中
  • 2:已调度
  • 3:运行中
  • 4:已完成
  • 5:已取消
  • 6:初始化中

code = 0

示例:

{
    "code":0,
    "msg":"",
    "job":{
        "id":525,
        "ctx":{
            "ownerId":1,
            "nodeId":602
        },
        "state":{
            "status":4, // 当前状态
            "log":[ // 状态变更记录,以及发生变更时的时间戳
                {
                    "id":2574,
                    "status":6,
                    "ts":{
                        "seconds":1562317937
                    },
                    "sourceId":525
                },
                {
                    "id":2575,
                    "status":1,
                    "ts":{
                        "seconds":1562317937
                    },
                    "sourceId":525
                },
                {
                    "id":2576,
                    "status":2,
                    "ts":{
                        "seconds":1562317938
                    },
                    "sourceId":525
                },
                {
                    "id":2577,
                    "status":3,
                    "ts":{
                        "seconds":1562317958
                    },
                    "sourceId":525
                },
                {
                    "id":2578,
                    "status":4,
                    "ts":{
                        "seconds":1562317973
                    },
                    "sourceId":525
                }
            ]
        },
        "status":4, // 当前状态
        "app":{ // 调用接口时传入的镜像信息
            "name":"ubuntu",
            "ver":"18.04",
            "envs":"SS=ssss;ZZ=qqqqq",
            "format":2,
            "files":{
                "mnt":"/mnt",
                "input":"",
                "output":"",
                "stdout":"",
                "stderr":""
            },
            "cmd":"echo 'hello'",
            "hostname":"",
            "creds":""
        },
        "res":{ // 镜像运行需要的资源信息
            "cpus":0,
            "gpus":0,
            "diskGB":10
        },
        "createTime":{ // 创建时间
            "seconds":1562317937
        },
        "vols": [
            {
                "src": "/",
                "dest": "/mnt",
                "readOnly": false
            }
        ],
        "queueLen": 0   // 任务在队列中的位置
        // 数值从1开始计数,若数值为5,则表示前面还有四个任务在排队
        // 数值为0表示不在排队队列中(运行中)
    }
}

Exception

code = 1 || 7

参见 全局错误码

上次修改: 2019-11-12 10:35