# XXL-JOB接口文档 # 执行器管理 ## 添加执行器 ``` URL:http://develop.persagy.com/job-admin/customGroup/save Method:POST Header:Content-Type=application/json ``` 请求: ``` { "id":1, // ID, "appname":"", // 名称,必填 "title": "测试", // 标题,必填 "addressType":0, // 执行器地址类型:0=自动注册、1=手动录入 "addressList":"DO_NOTHING" //执行器地址列表 } ``` 返回: ``` { "code":200, // 成功 "content":"1" // 执行器ID } ``` # 任务管理 ## 创建或更新并启动任务 ``` URL:http://develop.persagy.com/job-admin/customInfo/addOrUpdate2Start Method:POST Header:Content-Type=application/json ``` 请求: ``` { "id":1, // 任务ID,存在更新,不存在新增 "jobGroup": 1, // 执行器主键ID,必填 "childJobId":"", // 子级任务ID,选填 "jobDesc": "测试", // 任务描述,必填 "scheduleConf":"0/20 * * * * ?", //cron表达式,或者时间间隔单位:S,根据 scheduleType 来,必填 "scheduleType": "CRON", //调度类型,根据字典值来,必填 "author":"测试人员", // 负责人,必填 "executorParam":{ // 任务参数,必填 "test":"123", "callBackUrl":"http://www.baidu.com" // 回调地址,必填 }, "executorRouteStrategy":"ROUND", //路由策略,来源于字典值,必填 "executorBlockStrategy":"SERIAL_EXECUTION", //阻塞处理策略,来源于字典值,必填 "executorFailRetryCount":0, // 失败重试次数,大于0时生效,选填 "executorHandler":"commonTimeRuleJob", // 执行处理器,选填,不填,BEAN类型下,默认为 commonTimeRuleJob "executorTimeout":0, // 执行超时时间,大于0时生效 "misfireStrategy":"DO_NOTHING", //调度过期策略,来源于字典值 "alarmEmail": "", // 报警邮箱,多个用英文,隔开,选填 "glueType":"BEAN", // BEAN 类型,目前写死即可,不填,默认即为BEAN "glueRemark":"备注" // 备注 } ``` 返回: ``` { "code":200, // 成功 "content":"1" // 任务ID } ``` ## 创建任务(不会启动) URL:http://develop.persagy.com/job-admin/customInfo/add Method:POST Header:Content-Type=application/json 请求: { "jobGroup": 1, // 执行器主键ID,必填 "childJobId":"", // 子级任务ID,选填 "jobDesc": "测试", // 任务描述,必填 "scheduleConf":"0/20 * * * * ?", //cron表达式,或者时间间隔单位:S,根据 scheduleType 来,必填 "scheduleType": "CRON", //调度类型,根据字典值来,必填 "author":"测试人员", // 负责人,必填 "executorParam":{ // 任务参数,必填 "test":"123", "callBackUrl":"http://www.baidu.com" // 回调地址,必填 }, "executorRouteStrategy":"ROUND", //路由策略,来源于字典值,必填 "executorBlockStrategy":"SERIAL_EXECUTION", //阻塞处理策略,来源于字典值,必填 "executorFailRetryCount":0, // 失败重试次数,大于0时生效,选填 "executorHandler":"commonTimeRuleJob", // 执行处理器,选填,不填,BEAN类型下,默认为 commonTimeRuleJob "executorTimeout":0, // 执行超时时间,大于0时生效 "misfireStrategy":"DO_NOTHING", //调度过期策略,来源于字典值 "alarmEmail": "", // 报警邮箱,多个用英文,隔开,选填 "glueType":"BEAN", // BEAN 类型,目前写死即可,不填,默认即为BEAN "glueRemark":"备注" // 备注 } 返回: { "code":200, // 成功 "content":"2" // 任务ID } ## 更新任务 URL:http://develop.persagy.com/job-admin/customInfo/update Method:POST Header:Content-Type=application/json 请求: { "jobGroup": 1, // 执行器主键ID,必填 "childJobId":"", // 子级任务ID,选填 "jobDesc": "测试", // 任务描述,必填 "scheduleConf":"0/20 * * * * ?", //cron表达式,或者时间间隔单位:S,根据 scheduleType 来,必填 "scheduleType": "CRON", //调度类型,根据字典值来,必填 "author":"测试人员", // 负责人,必填 "executorParam":{ // 任务参数,必填 "test":"123", "callBackUrl":"http://www.baidu.com" // 回调地址,必填 }, "executorRouteStrategy":"ROUND", //路由策略,来源于字典值,必填 "executorBlockStrategy":"SERIAL_EXECUTION", //阻塞处理策略,来源于字典值,必填 "executorFailRetryCount":0, // 失败重试次数,大于0时生效,选填 "executorHandler":"commonTimeRuleJob", // 执行处理器,选填,不填,BEAN类型下,默认为 commonTimeRuleJob "executorTimeout":0, // 执行超时时间,大于0时生效 "misfireStrategy":"DO_NOTHING", //调度过期策略,来源于字典值 "alarmEmail": "", // 报警邮箱,多个用英文,隔开,选填 "glueType":"BEAN", // BEAN 类型,目前写死即可,不填,默认即为BEAN "glueRemark":"备注" // 备注 } 返回: { "code":200 } ## 启动任务 URL:http://develop.persagy.com/job-admin/customInfo/start Method:POST Header:Content-Type=application/json 请求: { "id":1 // 任务ID } 返回: { "code":200 } ## 停止任务 URL:http://develop.persagy.com/job-admin/customInfo/stop Method:POST Header:Content-Type=application/json 请求: { "id":1 // 任务ID } 返回: { "code":200 } ## 删除任务 URL:http://develop.persagy.com/job-admin/customInfo/remove Method:POST Header:Content-Type=application/json 请求: { "id":1 // 任务ID } 返回: { "code":200 //成功 } # 字典值管理 ## 字典值查询 URL:http://develop.persagy.com/job-admin/dict/dictQuery Method:POST Header:Content-Type=application/json 请求: { "queryType":"executorRouteStrategy" // 字段取值参考下面说明 } 返回: // 根据queryType的不同,返回值如下 // 路由策略 queryType: executorRouteStrategy { "code": 200, "content": { "BUSYOVER": "忙碌转移", "CONSISTENT_HASH": "一致性HASH", "LAST": "最后一个", "SHARDING_BROADCAST": "分片广播", "ROUND": "轮询", "RANDOM": "随机", "LEAST_RECENTLY_USED": "最近最久未使用", "FIRST": "第一个", "LEAST_FREQUENTLY_USED": "最不经常使用", "FAILOVER": "故障转移" } } // 阻塞策略 queryType: executorBlockStrategy { "code": 200, "content": { "COVER_EARLY": "覆盖之前调度", "SERIAL_EXECUTION": "单机串行", "DISCARD_LATER": "丢弃后续调度" } } // 调度过期策略 queryType: misfireStrategy { "code": 200, "content": { "DO_NOTHING": "忽略", "FIRE_ONCE_NOW": "立即执行一次" } } // 调度类型 queryType: scheduleType { "code": 200, "content": { "CRON": "CRON", "NONE": "无", // 暂 "FIX_RATE": "固定速度" } }