快速学习-ElasticJob应用API
ElasticJob-Cloud 提供应用发布及作业注册等 RESTful API, 可通过 curl 操作。
应用 API
发布应用
url:app
方法:POST
参数类型:application/json
参数列表:
属性名 |
类型 |
是否必填 |
缺省值 |
描述 |
---|---|---|---|---|
appName |
String |
是 |
作业应用名称 |
|
appURL |
String |
是 |
作业应用所在路径 |
|
cpuCount |
double |
否 |
1 |
作业应用启动所需要的 CPU 数量 |
memoryMB |
double |
否 |
128 |
作业应用启动所需要的内存 MB |
bootstrapScript |
String |
是 |
启动脚本 |
|
appCacheEnable |
boolean |
否 |
true |
每次执行作业时是否从缓存中读取应用 |
eventTraceSamplingCount |
int |
否 |
0(不采样) |
常驻作业事件采样率统计条数 |
参数详细说明:
appName:
为 ElasticJob-Cloud 的作业应用唯一标识。
appURL:
必须提供可以通过网络访问的路径。
bootstrapScript:
如:binstart.sh
appCacheEnable:
禁用则每次执行任务均从应用仓库下载应用至本地。
eventTraceSamplingCount:
为避免数据量过大,可对频繁调度的常驻作业配置采样率,即作业每执行 N 次,才会记录作业执行及追踪相关数据。
示例:
curl -l -H "Content-type: application/json" -X POST -d '{"appName":"my_app","appURL":"http://app_host:8080/my-job.tar.gz","cpuCount":0.1,"memoryMB":64.0,"bootstrapScript":"bin/start.sh","appCacheEnable":true,"eventTraceSamplingCount":0}' http://elastic_job_cloud_host:8899/api/app
修改应用配置
url:app
方法:PUT
参数类型:application/json
参数列表:
属性名 |
类型 |
是否必填 |
缺省值 |
描述 |
---|---|---|---|---|
appName |
String |
是 |
作业应用名称 |
|
appCacheEnable |
boolean |
是 |
true |
每次执行作业时是否从缓存中读取应用 |
eventTraceSamplingCount |
int |
否 |
0(不采样) |
常驻作业事件采样率统计条数 |
示例:
curl -l -H "Content-type: application/json" -X PUT -d '{"appName":"my_app","appCacheEnable":true}' http://elastic_job_cloud_host:8899/api/app
作业 API
注册作业
url:job/register
方法:POST
参数类型:application/json
参数列表:
属性名 |
类型 |
是否必填 |
缺省值 |
描述 |
---|---|---|---|---|
appName |
String |
是 |
作业应用名称 |
|
cpuCount |
double |
是 |
单片作业所需要的 CPU 数量,最小值为 0.001 |
|
memoryMB |
double |
是 |
单片作业所需要的内存 MB,最小值为 1 |
|
jobExecutionType |
Enum |
是 |
作业执行类型。TRANSIENT 为瞬时作业,DAEMON 为常驻作业 |
|
jobName |
String |
是 |
作业名称 |
|
cron |
String |
否 |
cron 表达式,用于配置作业触发时间 |
|
shardingTotalCount |
int |
是 |
作业分片总数 |
|
shardingItemParameters |
String |
否 |
自定义分片参数 |
|
jobParameter |
String |
否 |
作业自定义参数 |
|
failover |
boolean |
否 |
false |
是否开启失效转移 |
misfire |
boolean |
否 |
false |
是否开启错过任务重新执行 |
jobExecutorServiceHandlerType |
boolean |
否 |
false |
作业线程池处理策略 |
jobErrorHandlerType |
boolean |
否 |
false |
作业错误处理策略 |
description |
String |
否 |
作业描述信息 |
|
props |
Properties |
否 |
作业属性配置信息 |
使用脚本类型的瞬时作业可直接将脚本上传至 appURL,而无需打成 tar 包。 如果只有单个脚本文件可无需压缩。 如是复杂脚本应用,仍可上传 tar 包,支持各种常见压缩格式。
示例:
curl -l -H "Content-type: application/json" -X POST -d '{"appName":"my_app","cpuCount":0.1,"memoryMB":64.0,"jobExecutionType":"TRANSIENT","jobName":"my_job","cron":"0/5 * * * * ?","shardingTotalCount":5,"failover":true,"misfire":true}' http://elastic_job_cloud_host:8899/api/job/register
修改作业配置
url:job/update
方法:PUT
参数类型:application/json
参数:同注册作业
示例:
curl -l -H "Content-type: application/json" -X PUT -d '{"appName":"my_app","jobName":"my_job","cpuCount":0.1,"memoryMB":64.0,"jobExecutionType":"TRANSIENT","cron":"0/5 * * * * ?","shardingTotalCount":5,"failover":true,"misfire":true}' http://elastic_job_cloud_host:8899/api/job/update
注销作业
url:job/deregister
方法:DELETE
参数类型:application/json
参数:作业名称
示例:
curl -l -H "Content-type: application/json" -X DELETE -d 'my_job' http://elastic_job_cloud_host:8899/api/job/deregister
触发一次作业
url:job/trigger
方法:POST
参数类型:application/json
参数:作业名称
说明:即事件驱动,通过调用 API 而非定时的触发作业。目前仅对瞬时作业生效。
示例:
curl -l -H "Content-type: application/json" -X POST -d 'my_job' http://elastic_job_cloud_host:8899/api/job/trigger
- 权限管理模块中动态加载Vue组件
- axios请求封装和异常统一处理
- SpringSecurity中密码加盐与SpringBoot中异常统一处理
- SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(二)
- SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(一)
- Java操作MongoDB
- 初识MongoDB分片
- Linux上安装Redis
- SpringBoot+WebSocket实现在线聊天(二)
- SpringBoot中使用Freemarker构建邮件模板
- SpringBoot中发送QQ邮件
- SpringBoot中使用POI,快速实现Excel导入导出
- 代理技术 | 重磅,代理服务器背后的故事(正向、反向代理)
- SpringBoot中自定义参数绑定
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Pentester之SQL过关纪实
- 把tcga大计划的CNS级别文章标题画一个词云
- VIM编辑器基操
- Weevely入手指南
- Mybatis是如何执行一条SQL命令的?
- 如何为机器学习工程设计Python接口
- [举个栗子]增加组件通用性的几个点
- 《剑指offer》第14天:最长公共前缀
- 20,000 字帮你搞定策略模式!
- LeetCode 09正则表达式匹配(递归VS动态规划)
- 初识ABP vNext(5):ABP扩展实体
- 教你如何用Paddle.js开发智能化微信小程序
- Spark+Kudu的广告业务项目实战笔记(一)
- Java的新未来:逐渐“Kotlin化”
- 用 GitLab 做 CI/CD 是什么感觉,太强了!!