-
添加任务,支持多父多子
-
添加关系,任务之间不能闭环
-
不同任务使用不同的执行器
-
按序提交任务,并发执行任务。用RabbitMQ(RocketMQ/Kafka)
-
两个E 情况,查询实例状态加锁
-
设计消息投递内容
-
生产者提交A,消费者自己投递剩下的
-
节点执行内容
-
节点版本(历史版本)
-
节点超时终止(线程交互,共享变量,volatile)
-
自定义数据源(每个任务设置MySQL配置信息)
-
节点重试
-
前端页面
-
定时调度
-
重构
-
设置查询引擎、计算引擎
-
无缝切换执行引擎
-
SQL语法转换(待定)
-
K8s一体化平台
-
JVM 调优

- 任务表
| 字段 | 类型 |
|---|---|
| id | 任务id/主键 |
| job_name | |
| job_detail | |
| job_executor | |
| create_time | |
| update_time | |
| is_deleted |
- 实例表
| 字段 | 类型 |
|---|---|
| id | 实例id/主键 |
| job_id | |
| status | |
| batch | |
| message | |
| create_time | |
| update_time | |
| is_deleted |
- 关系表
| 字段 | 类型 |
|---|---|
| id | 关系id/主键 |
| rel_name | |
| rel_head | |
| rel_tail | |
| create_time | |
| update_time | |
| is_deleted |
- 执行器表
| 字段 | 类型 |
|---|---|
| id | 执行器id/主键 |
| exe_name | |
| exe_api | |
| exe_type | |
| create_time | |
| update_time | |
| is_deleted |
-
int createJob(Sting jobName, Sting jobDetail, Sting jobExecutor)
a. jobExecutor用枚举类型
-
Boolean createRelation(String relName, int relHeadId, int relTailId)
a. 判断关系头、尾是否存在
b. 判断是否有环
-
Boolean startJob(int jobId)
a. 判断任务是否存在
b. 判断任务是否为根节点
c. 判断是否有环
d. 提交根节点任务