论坛首页> 三共建设

基于Restful接口的作业查询与管理接口-作业查询接口

作业查询Restful接口参数说明:

参数

类型

说明

method

Get

String

方法名字为,固定值:Get

params

 

Json::Value

输入参数

 

type

int

接口类型,固定值:2

 

offset

int

从第几条作业开始,与size一起用于分页。

 

size

int

返回多少条

 

jobStatus

string

enum JobState

{

    jsFrozen,

    jsQueue,

    jsScheduled,

    jsReady, 

    jsReleased,

    jsActive,     

    jsSuspending,

    jsSuspended,

    jsResuming,

    jsCanceling,

    jsFinished,

    jsFailed,

    jsCanceled,

};

"10"表示finished""空字符串表示所有状态

 

userName

string 

""空字符串表示所有用户

 

commitTimeStart

String,将time_t类型转换成字符串,以下相同

""空字符串表示没有限制

 

commitTimeEnd

string 

""空字符串表示没有限制

 

startTimeStart

string 

""空字符串表示没有限制

 

startTimeEnd

string 

""空字符串表示没有限制

 

stopTimeStart

string 

""空字符串表示没有限制

 

stopTimeEnd

string 

""空字符串表示没有限制

 

department

string 

""空字符串表示所有部门

接口返回参数说明:

Result

 

Json::Value

输出结果

 

count

int

作业总数

 

jobList

list<JobInfo>

作业信息列表

JobInfo说明

JobInfo

 

Json::Value

 

 

jobName

string

作业名称

 

jobDesc

string

作业描述

 

attributes

string[]

作业自定义属性

 

runNodes

string[]

运行节点

 

ctrlNode

string

控制节点

 

jobStatus

department

状态

 

userName

string

用户

 

application

string

应用

 

commitTime

Uint64,是time_t的值,以下相同

提交时间

 

startTime

Uint64

开始时间

 

endTime

Uint64

结束时间

 

waitTime

unsigned

已等待时长

 

estimatedWaitTime

unsigned

预计等待多少秒

 

estimatedTime

unsigned

预计多少秒之后结束

 

character

unsigned

作业计算特征[0~10]

 

crossGroup

unsigned

0 cannot,1 can cross

 

department

string

作业所属部门

程序实例,本示例查询本用户当前作业调度系统中最新发送的10个作业:

#include "http_call.hpp"

 

int main()

{

    string ip = getenv("RESTFULIP");

    unsigned port = atoi(getenv("RESTFULPORT"));

    HttpClientPortal *m_hc = new HttpClientPortal(ip,port);

 

    m_hc->init();

 

    Json::Value parm, result;

 

    parm["type"]=2;

    parm["jobID"] = "";

    parm["commitTimeEnd"] = "";

    parm["commitTimeStart"] = "";

    parm["endTimeEnd"] = "";

    parm["endTimeStart"] = "";

    parm["jobStatus"] = 0;

    parm["offset"] = 0;

    parm["size"] = 10;

    parm["startTimeEnd"] = "";

    parm["startTimeStart"] = "";

    struct passwd * pwd = getpwuid (getuid ());

    parm["userName"] = pwd->pw_name;

m_hc->Call("job","GetJob",parm,result);

//输出结果

cout<<result<<endl;

}

输出结果实例:

{

   "count" : 10,

   "errorCode" : 0,

   "jobList" : [

      {

         "application" : "application",

         "attributes" : [ "att1=att_right", "att2=att_right" ],

         "character" : 1,

         "commitTime" : 10,

         "crossGroup" : 1,

         "ctrlNode" : "node1",

         "department" : "department",

         "endTime" : 1,

         "estimatedTime" : 1,

         "estimatedWaitTime" : 0,

         "jobDesc" : "desc1",

         "jobName" : "job1",

         "jobStatus" : "12",

         "reportMessage" : "",

         "runNodes" : [ "res1", "res2" ],

         "startTime" : 10,

         "userName" : "job_user0",

         "waitTime" : 11

      },

}

全部回复

暂无更多回复内容