Azkaban API 接口文档汇总

    Authenticate
    Create a Project
    Delete a Project
    Upload a Project Zip
    Fetch Flows of a Project
    Fetch Jobs of a Flow
    Fetch Executions of a Flow
    Fetch Running Executions of a Flow
    Execute a Flow
    Cancel a Flow Execution
    Schedule a period-based Flow (Deprecated)
    Flexible scheduling using Cron
    Fetch a Schedule
    Unschedule a Flow
    Set a SLA
    Fetch a SLA
    Pause a Flow Execution
    Resume a Flow Execution
    Fetch a Flow Execution
    Fetch Execution Job Logs
    Fetch Flow Execution Updatesjavascript

1. Authenticate  获取user session id  java

    Method: POST
    Request URL: /?action=login
    Parameter Location: Request Query Stringnode

 

Request Parametersajax

Parameter
    express

Descriptionsession

action=login
    app

The fixed parameter indicating the login action.less

username
    frontend

The Azkaban username.curl

password
    

The corresponding password.

 

Response Object

Parameter
    

Description

error
    

Return an error message if the login attempt fails.

session.id
    

Return a session id if the login attempt succeeds.

 

 

Request URL:

curl -k -X POST --data "action=login&username=azkaban&password=azkaban" https://localhost:8443

response body:

{         "session.id" : "bf8dd33b-cfc1-465a-a1c7-55edee8818f1",         "status" : "success" }

 

2.Create a Project 建立一个project

    Method: POST
    Request URL: /manager?action=create
    Parameter Location: Request Query

 

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

action=create
    

The fixed parameter indicating the create project action.

name
    

The project name to be uploaded.

description
    

The description for the project. This field cannot be empty.

 

Response Object 1. (if the request succeeds):

Parameter
    

Description

status
    

The status of the creation attempt.

path
    

The url path to redirect

action
    

The action that is suggested for the frontend to execute. (This is designed for the usage of the Azkaban frontend javascripts, external users can ignore this field.)

 

Request URL:

curl -k -X POST --data "session.id=9089beb2-576d-47e3-b040-86dbdc7f523e&name=aaaa&description=11" https://localhost:8443/manager?action=create

response body:

{         "status":"success",         "path":"manager?project=aaaa",         "action":"redirect" }


 

3.Delete a Project 删除一个project

    Method: GET
    Request URL: /manager?delete=true
    Parameter Location: Request Query

 

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

delete=true
    

The fixed parameter to indicate the deleting project action.

project
    

The project name to be deleted.

 

Request URL:

curl -k --get --data "session.id=bca1d75d-6bae-4163-a5b0-378a7d7b5a91&delete=true&project=test-delete-project" https://localhost:8443/manager

response body:

{}


 

4.Upload a Project Zip 上传一个zip文件

    Method: POST
    Content-Type: multipart/mixed
    Request URL: /manager?ajax=upload
    Parameter Location: Request Body

 

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=upload
    

The fixed parameter to the upload action.

project
    

The project name to be uploaded.

file
    

The project zip file. The type should be set as application/zip or application/x-zip-compressed.

Response Object

Parameter
    

Description

error
    

The error message if the upload attempt fails.

projectId
    

The numerical id of the project

version
    

The version number of the upload

 

Request URL:


curl -k -i -H "Content-Type: multipart/mixed" -X POST --form 'session.id=e7a29776-5783-49d7-afa0-b0e688096b5e' --form 'ajax=upload' --form 'file=@myproject.zip;type=application/zip' --form 'project=MyProject;type/plain' https://localhost:8443/manager

response body:

{         "error" : "Installation Failed.\nError unzipping file.",         "projectId" : "192",         "version" : "1" }

 

5.Fetch Flows of a Project 获取一个project的任务流

    Method: GET
    Request URL: /manager?ajax=fetchprojectflows
    Parameter Location: Request Query String

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=fetchprojectflows
    

The fixed parameter indicating the fetchProjectFlows action.

project
    

The project name to be fetched.

Response Object

Parameter
    

Description

project
    

The project name.

projectId
    

The numerical id of the project.

flows
    

A list of flow ids. Example values: [{“flowId”: “aaa”}, {“flowId”: “bbb”}]

 

request URL:

curl -k --get --data "session.id=bf8dd33b-cfc1-465a-a1c7-55edee8818f1&ajax=fetchprojectflows&project=report" https://localhost:8443/manager

response body:

{         "flows" : [ {         "flowId" : "mkt_report_finish"         }, {         "flowId" : "time_slot_18_finish"         }, {         "flowId" : "important_finish"         }, {         "flowId" : "hourly_report"         }, {         "flowId" : "boss_finish"         }, {         "flowId" : "time_slot_0_finish"         }, {         "flowId" : "essential_finish"         }, {         "flowId" : "coupon_finish"         }, {         "flowId" : "daily_report"         }, {         "flowId" : "hourly_report_fake"         }, {         "flowId" : "monthly_report"         }, {         "flowId" : "brand_daily_1430"         }, {         "flowId" : "competing_sale_monitor_1800"         }, {         "flowId" : "time_slot_13_finish"         }, {         "flowId" : "ltd_finish"         }, {         "flowId" : "normal_finish"         }, {         "flowId" : "competing_sale_monitor_2330"         }, {         "flowId" : "publish_report"         } ],         "project" : "report",         "projectId" : 19 }

 

6.Fetch Jobs of a Flow 获取一个任务流的job

    Method: GET
    Request URL: /manager?ajax=fetchflowgraph
    Parameter Location: Request Query String

 

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=fetchflowgraph
    

The fixed parameter indicating the fetchProjectFlows action.

project
    

The project name to be fetched.

flow
    

The project id to be fetched.

Response Object

Parameter
    

Description

project
    

The project name.

projectId
    

The numerical id of the project.

flow
    

The flow id fetched.

nodes
    

A list of job nodes belonging to this flow. Structure:

{

  "id": "job.id"

  "type": "job.type"

  "in": ["job.ids that this job

  is directly depending upon.

  Indirect ancestors is not in

  cluded in this list"]

}

Example values: [{“id”: “first_job”, “type”: “java”}, {“id”: “second_job”, “type”: “command”, “in

 

request URL:


curl -k --get --data "session.id=bf8dd33b-cfc1-465a-a1c7-55edee8818f1&ajax=fetchflowgraph&project=report&flow=mkt_report_finish" https://localhost:8443/manager

 

response body:

{         "nodes" : [ {         "in" : [ "product_conversion_ratio" ],         "id" : "baidu_search_keyword",         "type" : "command"         }, {         "in" : [ "credit_wall_monitor" ],         "id" : "commercial_effect_key_word_app",         "type" : "command"         }, {         "in" : [ "mkt_cps" ],         "id" : "credit_wall_monitor",         "type" : "command"         }, {         "in" : [ "mkt_report_start" ],         "id" : "mkt_app",         "type" : "command"         }, {         "in" : [ "mkt_report_start" ],         "id" : "mkt_brand",         "type" : "command"         }, {         "in" : [ "new_client_seq" ],         "id" : "mkt_cps",         "type" : "command"         }, {         "in" : [ "mkt_report_start" ],         "id" : "mkt_info_flow",         "type" : "command"         }, {         "in" : [ "commercial_effect_key_word_app" ],         "id" : "mkt_kpi_monitor",         "type" : "command"         }, {         "in" : [ "baidu_search_keyword" ],         "id" : "mkt_report_finish",         "type" : "command"         }, {         "id" : "mkt_report_start",         "type" : "command"         }, {         "in" : [ "mkt_report_start" ],         "id" : "mkt_search",         "type" : "command"         }, {         "in" : [ "mkt_app", "mkt_brand", "mkt_info_flow", "mkt_search" ],         "id" : "new_client_seq",         "type" : "command"         }, {         "in" : [ "mkt_kpi_monitor" ],         "id" : "platform_conversion",         "type" : "command"         }, {         "in" : [ "platform_conversion" ],         "id" : "product_conversion_ratio",         "type" : "command"         } ],         "project" : "report",         "projectId" : 19,         "flow" : "mkt_report_finish" }

 

7.Fetch Executions of a Flow 获取一个任务流执行的状况(可选择返返回的最近十条,最先十条等)

 

    Method: GET
    Request URL: /manager?ajax=fetchFlowExecutions
    Parameter Location: Request Query String

 

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=fetchFlowExecutions
    

The fixed parameter indicating the fetchFlowExecutions action.

project
    

The project name to be fetched.

flow
    

The flow id to be fetched.

start
    

The start index(inclusive) of the returned list.

length
    

The max length of the returned list. For example, if the start index is 2, and the length is 10, then the returned list will include executions of indices: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11].

Response Object

Parameter
    

Description

executions
    

A list of execution objects, with the resquested start index and length.

total
    

The total number of all relevant execution

project
    

The project name fetched.

projectId
    

The numerical project id fetched.

flow
    

The flow id fetched.

from
    

The start index of the fetched executions

length
    

The length of the fetched executions.

 

Request URL:


curl -k --get --data "session.id=bf8dd33b-cfc1-465a-a1c7-55edee8818f1&ajax=fetchFlowExecutions&project=report&flow=mkt_report_finish&start=0&length=3" https://localhost:8443/manager

response body:

{         "total" : 287,         "executions" : [ {         "submitTime" : 1537927226258,         "submitUser" : "azkaban",         "startTime" : 1537927226315,         "endTime" : 1537929605989,         "flowId" : "mkt_report_finish",         "projectId" : 19,         "execId" : 110031,         "status" : "SUCCEEDED"         }, {         "submitTime" : 1537840825992,         "submitUser" : "azkaban",         "startTime" : 1537840826042,         "endTime" : 1537843396741,         "flowId" : "mkt_report_finish",         "projectId" : 19,         "execId" : 109735,         "status" : "SUCCEEDED"         }, {         "submitTime" : 1537754425822,         "submitUser" : "azkaban",         "startTime" : 1537754425872,         "endTime" : 1537757060229,         "flowId" : "mkt_report_finish",         "projectId" : 19,         "execId" : 109445,         "status" : "SUCCEEDED"         } ],         "length" : 3,         "project" : "report",         "from" : 0,         "projectId" : 19,         "flow" : "mkt_report_finish" }

 

 

8.Fetch Running Executions of a Flow 获取一个任务流正在执行的Execution状况(一个job)

    Method: GET
    Request URL: /executor?ajax=getRunning
    Parameter Location: Request Query String

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=getRunning
    

The fixed parameter indicating the getRunning action.

project
    

The project name to be fetched.

flow
    

The flow id to be fetched.

Response Object

Parameter
    

Description

execIds
    

A list of execution ids fetched. Example values: [301, 302, 111, 999]

 

Request URL:


curl -k --data "session.id=bf8dd33b-cfc1-465a-a1c7-55edee8818f1&ajax=getRunning&project=report&flow=mkt_report_finish" https://localhost:8443/executor

 

response body:

{}

 

9.Execute a Flow 执行一个任务流

    Method: GET
    Request URL: /executor?ajax=executeFlow
    Parameter Location: Request Query String

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

Example Values: 30d538e2-4794-4e7e-8a35-25a9e2fd5 300

ajax=executeFlow
    

The fixed parameter indicating the current ajax action is executeFlow.

project
    

The project name of the executing flow.

Example Values: run-all-jobs

flow
    

The flow id to be executed.

Example Values: test-flow

disabled (optional)
    

A list of job names that should be disabled for this execution. Should be formatted as a JSON Array String.

Example Values: [“job_name_1”, “job_name_2”, “job_name_N”]

successEmails (optional)
    

A list of emails to be notified if the execution succeeds. All emails are delimitted with [,|;|\s+].

Example Values: foo@email.com,bar@email.com

failureEmails (optional)
    

A list of emails to be notified if the execution fails. All emails are delimitted with [,|;|\s+].

Example Values: foo@email.com,bar@email.com

successEmailsOverride (optional)
    

Whether uses system default email settings to override successEmails.

Possible Values: true, false

failureEmailsOverride (optional)
    

Whether uses system default email settings to override failureEmails.

Possible Values: true, false

notifyFailureFirst (optional)
    

Whether sends out email notifications as long as the first failure occurs.

Possible Values: true, false

notifyFailureLast (optional)
    

Whether sends out email notifications as long as the last failure occurs.

Possible Values: true, false

failureAction (Optional)
    

If a failure occurs, how should the execution behaves.

Possible Values: finishCurrent, cancelImmediately, finishPossible

concurrentOption (Optional)
    

Concurrent choices. Use ignore if nothing specifical is required.

Possible Values: ignore, pipeline, skip

flowOverride[flowProperty] (Optional)
    

Override specified flow property with specified value.

Example Values : flowOverride[failure.email]=test@ gmail.com
Response Object

Parameter
    

Description

error
    

Error message if the call has failed

flow
    

The executed flow id

execid
    

The execution id

 

Request URL:

curl -k --get --data 'session.id=189b956b-f39f-421e-9a95-e3117e7543c9' --data 'ajax=executeFlow' --data 'project=azkaban-test-project' --data 'flow=test' https://localhost:8443/executor

 

Response body:

{

        message:"Execution submitted successfully with exec id 295",

        project:"foo-demo",

        flow:"test",

        execid:295

}

 

10.Cancel a Flow Execution 取消一个正在运行的任务流

    Method: GET
    Request URL: /executor?ajax=cancelFlow
    Parameter Location: Request Query String

 

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=cancelFlow
    

The fixed parameter indicating the current ajax action is cancelFlow.

execid
    

The execution id.

 

Request URL:

 

curl -k --data "session.id=34ba08fd-5cfa-4b65-94c4-9117aee48dda&ajax=cancelFlow&execid=302" https://localhost:8443/executor

 

response body:

if success:

{ }

else:

{

"error" : "Execution 302 of flow test isn't running."

}

 

 

11.Schedule a period-based Flow (Deprecated) 调度一个时间段的任务流

 

    Method: POST
    Request URL: /schedule?ajax=scheduleFlow
    Parameter Location: Request Query String

 
Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=scheduleFlow
    

The fixed parameter indicating the action is to schedule a flow.

projectName
    

The name of the project.

projectId
    

The id of the project. You can find this with Fetch Flows of a Project.

flowName
    

The name of the flow.

scheduleTime(with timezone)
    

The time to schedule the flow. Example: 12,00,pm,PDT (Unless UTC is specified, Azkaban will take current server’s default timezone instead)

scheduleDate
    

The date to schedule the flow. Example: 07/22/2014

is_recurring=on (optional)
    

Flags the schedule as a recurring schedule.

period (optional)
    

Specifies the recursion period. Depends on the “is_recurring” flag being set. Example: 5w Possible Values:

M
    

Months

w
    

Weeks

d
    

Days

h
    

Hours

m
    

Minutes

s
    

Seconds

 

 

Request URL:

 

# a) One time schedule 一次执行 

curl -k https://HOST:PORT/schedule -d "ajax=scheduleFlow&projectName=PROJECT_NAME&flow=FLOW_NAME&projectId=PROJECT_ID&scheduleTime=12,00,pm,PDT&scheduleDate=07/22/2014" -b azkaban.browser.session.id=SESSION_ID

# b) Recurring schedule 按期执行

curl -k https://HOST:PORT/schedule -d "ajax=scheduleFlow&is_recurring=on&period=5w&projectName=PROJECT_NAME&flow=FLOW_NAME&projectId=PROJECT_ID&scheduleTime=12,00,pm,PDT&scheduleDate=07/22/2014" -b azkaban.browser.session.id=SESSION_ID

 

response body:

if success: { "message" : "PROJECT_NAME.FLOW_NAME scheduled.", "status" : "success" }

else : { "message" : "Permission denied. Cannot execute FLOW_NAME", "status" : "error" }

12.Flexible scheduling using Cron 使用Cron进行灵活调度(自定义时间段)

    Method: POST
    Request URL: /schedule?ajax=scheduleCronFlow
    Parameter Location: Request Query String

 
Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=scheduleCronFlow
    

The fixed parameter indicating the action is to use cron to schedule a flow.

projectName
    

The name of the project.

flow
    

The name of the flow.

cronExpression
    

A CRON expression is a string comprising 6 or 7 fields separated by white space that represents a set of times. In azkaban, we use Quartz Cron Format.

 

Request URL:

curl -k -d ajax=scheduleCronFlow -d projectName=wtwt -d flow=azkaban-training --data-urlencode cronExpression="0 23/30 5,7-10 ? * 6#3" -b "azkaban.browser.session.id=XXXXXXXXXXXXXX" http://localhost:8081/schedule

Response:

if success:

{

"message" : "PROJECT_NAME.FLOW_NAME scheduled.",

"scheduleId" : SCHEDULE_ID,

"status" : "success"

}

else:

{

"message" : "Cron expression must exist.",

"status" : "error"

}

{

"message" : "Permission denied. Cannot execute FLOW_NAME",

"status" : "error"

}

{

"message" : "This expression <*****> can not be parsed to quartz cron.",

"status" : "error"

}

 

13.Fetch a Schedule 获取指定Project,flow下的数据流的调度

 

    Method: GET
    Request URL: /schedule?ajax=fetchSchedule
    Parameter Location: Request Query String

 

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=fetchSchedule
    

The fixed parameter indicating the schedule.

projectId
    

The id of the project.

flowId
    

The name of the flow.

 

request URL:


curl -k --get --data "session.id=XXXXXXXXXXXXXX&ajax=fetchSchedule&projectId=1&flowId=test" http://localhost:8081/schedule

response body:

 

{         "schedule":{         "cronExpression":"0 * 9 ? * *",         "nextExecTime":"2017-04-01 09:00:00",         "period":"null",         "submitUser":"azkaban",         "executionOptions":{         "notifyOnFirstFailure":false,         "notifyOnLastFailure":false,         "failureEmails":[],         "successEmails":[],         "pipelineLevel":null,         "queueLevel":0,         "concurrentOption":"skip",         "mailCreator":"default",         "memoryCheck":true,         "flowParameters":{         },         "failureAction":"FINISH_CURRENTLY_RUNNING",         "failureEmailsOverridden":false,         "successEmailsOverridden":false,         "pipelineExecutionId":null,         "disabledJobs":[]         },         "scheduleId":"3",         "firstSchedTime":"2017-03-31 11:45:21"         } }

 

14.Unschedule a Flow 取消数据流的调度

 

    Method: POST
    Request URL: /schedule?action=removeSched
    Parameter Location: Request Query String

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

action=removeSched
    

The fixed parameter indicating the action is to unschedule a flow.

scheduleId
    

The id of the schedule. You can find this in the Azkaban UI on the /schedule page.

 

Request URL:

 

curl -k https://HOST:PORT/schedule -d "action=removeSched&scheduleId=SCHEDULE_ID" -b azkaban.browser.session.id=SESSION_ID

 

response body:

 

if success:

{

"message" : "flow FLOW_NAME removed from Schedules.",

"status" : "success"

}

else:

{

"message" : "Schedule with ID SCHEDULE_ID does not exist",

"status" : "error"

}

 

15.Set a SLA 设置告警模块

    Method: POST
    Request URL: /schedule?ajax=setSla
    Parameter Location: Request Query String

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=setSla
    

The fixed parameter indicating the action is to set a SLA.

scheduleId
    

The id of the shchedule. You can find this with Fetch a Schedule .

slaEmails
    

A list of SLA alert emails. Example: slaEmails=a@example.com;b@example .com

settings[…]
    

Rules of SLA. Format is settings[…]=[id],[rule],[durati on],[emailAction],[killAction]. Example: settings[0]=aaa,SUCCESS,5:00,true ,false

 

 

Resquest URL:

 


curl -k -d "ajax=setSla&scheduleId=1&slaEmails=a@example.com;b@example.com&settings[0]=aaa,SUCCESS,5:00,true,false&settings[1]=bbb,SUCCESS,10:00,false,true" -b "azkaban.browser.session.id=XXXXXXXXXXXXXX" "http://localhost:8081/schedule"

 

respose body:

 

if success:

{

}

else:

{

"error" : "azkaban.scheduler.ScheduleManagerException: Unable to parse duration for a SLA that needs to take actions!"

}

 

16.Fetch a SLA 获取资源调度的报警模块

 

    Method: GET
    Request URL: /schedule?ajax=slaInfo
    Parameter Location: Request Query String

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=slaInfo
    

The fixed parameter indicating the SLA.

scheduleId
    

The id of the shchedule. You can find this with Fetch a Schedule .

 

Request URL:

 

curl -k --get --data "session.id=XXXXXXXXXXXXXX&ajax=slaInfo&scheduleId=1" http://localhost:8081/schedule"

 

response body:


{

        "settings" : [ {

        "duration" : "300m",

        "rule" : "SUCCESS",

        "id" : "aaa",

        "actions" : [ "EMAIL" ]

        }, {

        "duration" : "600m",

        "rule" : "SUCCESS",

        "id" : "bbb",

        "actions" : [ "KILL" ]

        } ],

        "slaEmails" : [ "a@example.com", "b@example.com" ],

        "allJobNames" : [ "aaa", "ccc", "bbb", "start", "end" ]

}

 

17.Pause a Flow Execution 暂停一个执行的任务流

 

    Method: GET
    Request URL: /executor?ajax=pauseFlow
    Parameter Location: Request Query String

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=pauseFlow
    

The fixed parameter indicating the current ajax action is pauseFlow.

execid
    

The execution id.

 

 

Request URL:

 


curl -k --data "session.id=34ba08fd-5cfa-4b65-94c4-9117aee48dda&ajax=pauseFlow&execid=303" https://localhost:8443/executor

 

response body:

 

if success:{}

else:{

"error" : "Execution 303 of flow test isn't running."

}

 

 

18.Resume a Flow Execution 释放一个暂停的执行的任务流(继续跑暂停的任务流)

    Method: GET
    Request URL: /executor?ajax=resumeFlow
    Parameter Location: Request Query String

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=resumeFlow
    

The fixed parameter indicating the current ajax action is resumeFlow.

execid
    

The execution id.

 

 

Request URL:

 


curl -k --data "session.id=34ba08fd-5cfa-4b65-94c4-9117aee48dda&ajax=resumeFlow&execid=303" https://localhost:8443/executor

 

response body:

 

if success:

{}

else:

{

"error" : "Execution 303 of flow test isn't running."

}

 

 

19.Fetch a Flow Execution 获取一个任务流执行的状况 (制定的执行的id)

    Method: GET
    Request URL: /executor?ajax=fetchexecflow
    Parameter Location: Request Query String

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=fetchexecflow
    

The fixed parameter indicating the fetchexecflow action.

execid
    

The execution id to be fetched.

 

 

 

Request URL:

 


curl -k --data "session.id=34ba08fd-5cfa-4b65-94c4-9117aee48dda&ajax=fetchexecflow&execid=304" https://localhost:8443/executor

 

 

response body:


{

        "attempt" : 0,

        "submitUser" : "1",

        "updateTime" : 1407779495095,

        "status" : "FAILED",

        "submitTime" : 1407779473318,

        "projectId" : 192,

        "flow" : "test",

        "endTime" : 1407779495093,

        "type" : null,

        "nestedId" : "test",

        "startTime" : 1407779473354,

        "id" : "test",

        "project" : "test-azkaban",

        "nodes" : [ {

        "attempt" : 0,

        "startTime" : 1407779495077,

        "id" : "test",

        "updateTime" : 1407779495077,

        "status" : "CANCELLED",

        "nestedId" : "test",

        "type" : "command",

        "endTime" : 1407779495077,

        "in" : [ "test-foo" ]

        }, {

        "attempt" : 0,

        "startTime" : 1407779473357,

        "id" : "test-bar",

        "updateTime" : 1407779484241,

        "status" : "SUCCEEDED",

        "nestedId" : "test-bar",

        "type" : "pig",

        "endTime" : 1407779484236

        }, {

        "attempt" : 0,

        "startTime" : 1407779484240,

        "id" : "test-foobar",

        "updateTime" : 1407779495073,

        "status" : "FAILED",

        "nestedId" : "test-foobar",

        "type" : "java",

        "endTime" : 1407779495068,

        "in" : [ "test-bar" ]

        }, {

        "attempt" : 0,

        "startTime" : 1407779495069,

        "id" : "test-foo",

        "updateTime" : 1407779495069,

        "status" : "CANCELLED",

        "nestedId" : "test-foo",

        "type" : "java",

        "endTime" : 1407779495069,

        "in" : [ "test-foobar" ]

        } ],

        "flowId" : "test",

        "execid" : 304

}

 

 

20.Fetch Execution Job Logs 根据指定的session.id && jobid &&exec_id,来获取对应付的任务日志

 

    Method: GET
    Request URL: /executor?ajax=fetchExecJobLogs
    Parameter Location: Request Query String

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=fetchExecJobLogs
    

The fixed parameter indicating the fetchExecJobLogs action.

execid
    

The unique id for an execution.

jobId
    

The unique id for the job to be fetched.

offset
    

The offset for the log data.

length
    

The length of the log data. For example, if the offset set is 10 and the length is 1000, the returned log will starts from the 10th character and has a length of 1000 (less if the remaining log is less than 1000 long).

 

 

Request URL:

 


curl -k --data "session.id=9089beb2-576d-47e3-b040-86dbdc7f523e&ajax=fetchExecJobLogs&execid=297&jobId=test-foobar&offset=0&length=100" https://localhost:8443/executor

 

 

response body:

 

{

        "data" : "05-08-2014 16:53:02 PDT test-foobar INFO - Starting job test-foobar at 140728278",

        "length" : 100,

        "offset" : 0

}

 

 

21.Fetch Flow Execution Updates 获取任务流执行的更新状况

    Method: GET
    Request URL: /executor?ajax=fetchexecflowupdate
    Parameter Location: Request Query String

Request Parameters

Parameter
    

Description

session.id
    

The user session id.

ajax=fetchexecflowupdate
    

The fixed parameter indicating the fetch execution updates action.

execid
    

The execution id.

lastUpdateTime
    

The criteria to filter by last update time. Set the value to be -1 if all job information are needed.

Response Object

Parameter
    

Description

id
    

The flow id.

flow
    

The flow name.

startTime
    

The start time of this flow execution.

updateTime
    

The last updated time of this flow execution.

endTime
    

The end time of this flow execution (if it finishes).

status
    

The current status of the flow.

attempt
    

The attempt number of this flow execution.

nodes
    

Information for each execution job. Containing the following fields:

{

  "attempt": String,

  "startTime": Number,

  "id": String (the job id),

  "updateTime":Number,

  "status": String,

  "endTime": Number

}

 

 

Request URL:

 


curl -k --data "execid=301&lastUpdateTime=-1&session.id=6668c180-efe7-46a-8dd2-e36508b440d8" https://localhost:8443/executor?ajax=fetchexecflowupdate

 

 

Response bpdy:

 


{

        "id" : "test",

        "startTime" : 1407778382894,

        "attempt" : 0,

        "status" : "FAILED",

        "updateTime" : 1407778404708,

        "nodes" : [ {

        "attempt" : 0,

        "startTime" : 1407778404683,

        "id" : "test",

        "updateTime" : 1407778404683,

        "status" : "CANCELLED",

        "endTime" : 1407778404683

        }, {

        "attempt" : 0,

        "startTime" : 1407778382913,

        "id" : "test-job-1",

        "updateTime" : 1407778393850,

        "status" : "SUCCEEDED",

        "endTime" : 1407778393845

        }, {

        "attempt" : 0,

        "startTime" : 1407778393849,

        "id" : "test-job-2",

        "updateTime" : 1407778404679,

        "status" : "FAILED",

        "endTime" : 1407778404675

        }, {

        "attempt" : 0,

        "startTime" : 1407778404675,

        "id" : "test-job-3",

        "updateTime" : 1407778404675,

        "status" : "CANCELLED",

        "endTime" : 1407778404675

        } ],

        "flow" : "test",

        "endTime" : 1407778404705

}

相关文章
相关标签/搜索