Powerjob-server 服务管理端 4.3.6 版本
钟日健
2025-03-06 6147ea367bf5f25dbb694e32f6b49f1360185912
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
 
-- ----------------------------
-- Table structure for app_info
-- ----------------------------
DROP TABLE IF EXISTS `app_info`;
CREATE TABLE `app_info`
(
    `id`             bigint       NOT NULL AUTO_INCREMENT COMMENT '应用ID',
    `app_name`       varchar(128) not NULL COMMENT '应用名称',
    `current_server` varchar(255) default null COMMENT 'Server地址,用于负责调度应用的ActorSystem地址',
    `gmt_create`     datetime     not null COMMENT '创建时间',
    `gmt_modified`   datetime     not null COMMENT '更新时间',
    `password`       varchar(255) not null COMMENT '应用密码',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uidx01_app_info` (`app_name`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 1
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci COMMENT ='应用表';
 
-- ----------------------------
-- Table structure for container_info
-- ----------------------------
 
DROP TABLE IF EXISTS `container_info`;
CREATE TABLE `container_info`
(
    `id`               bigint       NOT NULL AUTO_INCREMENT COMMENT '容器ID',
    `app_id`           bigint       not null COMMENT '应用ID',
    `container_name`   varchar(128) not null COMMENT '容器名称',
    `gmt_create`       datetime     not null COMMENT '创建时间',
    `gmt_modified`     datetime     not null COMMENT '更新时间',
    `last_deploy_time` datetime     DEFAULT NULL COMMENT '上次部署时间',
    `source_info`      varchar(255) DEFAULT NULL COMMENT '资源信息,内容取决于source_type\n1、FatJar -> String\n2、Git -> JSON,{"repo”:””仓库,”branch”:”分支”,”username”:”账号,”password”:”密码”}',
    `source_type`      int          not null COMMENT '资源类型,1:FatJar/2:Git',
    `status`           int          not null COMMENT '状态,1:正常ENABLE/2:已禁用DISABLE/99:已删除DELETED',
    `version`          varchar(255) default null COMMENT '版本',
    PRIMARY KEY (`id`),
    KEY `idx01_container_info` (`app_id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci COMMENT ='容器表';
 
-- ----------------------------
-- Table structure for instance_info
-- ----------------------------
DROP TABLE IF EXISTS `instance_info`;
CREATE TABLE `instance_info`
(
    `id`                    bigint   NOT NULL AUTO_INCREMENT COMMENT '任务实例ID',
    `app_id`                bigint   not null COMMENT '应用ID',
    `instance_id`           bigint   not null COMMENT '任务实例ID',
    `type`                  int      not NULL COMMENT '任务实例类型,1:普通NORMAL/2:工作流WORKFLOW',
    `job_id`                bigint   not NULL COMMENT '任务ID',
    `instance_params`       longtext COMMENT '任务动态参数',
    `job_params`            longtext COMMENT '任务静态参数',
    `actual_trigger_time`   bigint       default NULL COMMENT '实际触发时间',
    `expected_trigger_time` bigint       DEFAULT NULL COMMENT '计划触发时间',
    `finished_time`         bigint       DEFAULT NULL COMMENT '执行结束时间',
    `last_report_time`      bigint       DEFAULT NULL COMMENT '最后上报时间',
    `result`                longtext COMMENT '执行结果',
    `running_times`         bigint       DEFAULT NULL COMMENT '总执行次数,用于重试判断',
    `status`                int      not NULL COMMENT '任务状态,1:等待派发WAITING_DISPATCH/2:等待Worker接收WAITING_WORKER_RECEIVE/3:运行中RUNNING/4:失败FAILED/5:成功SUCCEED/9:取消CANCELED/10:手动停止STOPPED',
    `task_tracker_address`  varchar(255) DEFAULT NULL COMMENT 'TaskTracker地址',
    `wf_instance_id`        bigint       DEFAULT NULL COMMENT '工作流实例ID',
    `additional_data`       longtext comment '附加信息 (JSON)',
    `gmt_create`            datetime not NULL COMMENT '创建时间',
    `gmt_modified`          datetime not NULL COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx01_instance_info` (`job_id`, `status`),
    KEY `idx02_instance_info` (`app_id`, `status`),
    KEY `idx03_instance_info` (`instance_id`, `status`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 1
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci COMMENT ='任务实例表';
 
-- ----------------------------
-- Table structure for job_info
-- ----------------------------
DROP TABLE IF EXISTS `job_info`;
CREATE TABLE `job_info`
(
    `id`                   bigint   NOT NULL AUTO_INCREMENT,
    `app_id`               bigint            DEFAULT NULL COMMENT '应用ID',
    `job_name`             varchar(128)      DEFAULT NULL COMMENT '任务名称',
    `job_description`      varchar(255)      DEFAULT NULL COMMENT '任务描述',
    `job_params`           text COMMENT '任务默认参数',
    `concurrency`          int               DEFAULT NULL COMMENT '并发度,同时执行某个任务的最大线程数量',
    `designated_workers`   varchar(255)      DEFAULT NULL COMMENT '运行节点,空:不限(多值逗号分割)',
    `dispatch_strategy`    int               DEFAULT NULL COMMENT '投递策略,1:健康优先/2:随机',
    `execute_type`         int      not NULL COMMENT '执行类型,1:单机STANDALONE/2:广播BROADCAST/3:MAP_REDUCE/4:MAP',
    `instance_retry_num`   int      not null DEFAULT 0 COMMENT 'Instance重试次数',
    `instance_time_limit`  bigint   not null DEFAULT 0 COMMENT '任务整体超时时间',
    `lifecycle`            varchar(255)      DEFAULT NULL COMMENT '生命周期',
    `max_instance_num`     int      not null DEFAULT 1 COMMENT '最大同时运行任务数,默认 1',
    `max_worker_count`     int      not null DEFAULT 0 COMMENT '最大运行节点数量',
    `min_cpu_cores`        double   NOT NULL default 0 COMMENT '最低CPU核心数量,0:不限',
    `min_disk_space`       double   NOT NULL default 0 COMMENT '最低磁盘空间(GB),0:不限',
    `min_memory_space`     double   NOT NULL default 0 COMMENT '最低内存空间(GB),0:不限',
    `next_trigger_time`    bigint            DEFAULT NULL COMMENT '下一次调度时间',
    `notify_user_ids`      varchar(255)      DEFAULT NULL COMMENT '报警用户(多值逗号分割)',
    `processor_info`       varchar(255)      DEFAULT NULL COMMENT '执行器信息',
    `processor_type`       int      not NULL COMMENT '执行器类型,1:内建处理器BUILT_IN/2:SHELL/3:PYTHON/4:外部处理器(动态加载)EXTERNAL',
    `status`               int      not NULL COMMENT '状态,1:正常ENABLE/2:已禁用DISABLE/99:已删除DELETED',
    `task_retry_num`       int      not NULL default 0 COMMENT 'Task重试次数',
    `time_expression`      varchar(255)      default NULL COMMENT '时间表达式,内容取决于time_expression_type,1:CRON/2:NULL/3:LONG/4:LONG',
    `time_expression_type` int      not NULL COMMENT '时间表达式类型,1:CRON/2:API/3:FIX_RATE/4:FIX_DELAY,5:WORKFLOW\n)',
    `tag`                  varchar(255)      DEFAULT NULL COMMENT 'TAG',
    `log_config`           varchar(255)      DEFAULT NULL COMMENT '日志配置',
    `extra`                varchar(255)      DEFAULT NULL COMMENT '扩展字段',
    `gmt_create`           datetime not NULL COMMENT '创建时间',
    `gmt_modified`         datetime not NULL COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx01_job_info` (`app_id`, `status`, `time_expression_type`, `next_trigger_time`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 1
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci COMMENT ='任务表';
 
-- ----------------------------
-- Table structure for oms_lock
-- ----------------------------
DROP TABLE IF EXISTS `oms_lock`;
CREATE TABLE `oms_lock`
(
    `id`            bigint   NOT NULL AUTO_INCREMENT COMMENT '序号ID',
    `lock_name`     varchar(128) DEFAULT NULL COMMENT '名称',
    `max_lock_time` bigint       DEFAULT NULL COMMENT '最长持锁时间',
    `ownerip`       varchar(255) DEFAULT NULL COMMENT '拥有者IP',
    `gmt_create`    datetime not NULL COMMENT '创建时间',
    `gmt_modified`  datetime not NULL COMMENT '更新时间',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uidx01_oms_lock` (`lock_name`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 1
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci COMMENT ='数据库锁';
 
-- ----------------------------
-- Table structure for server_info
-- ----------------------------
DROP TABLE IF EXISTS `server_info`;
CREATE TABLE `server_info`
(
    `id`           bigint NOT NULL AUTO_INCREMENT COMMENT '服务器ID',
    `gmt_create`   datetime     DEFAULT NULL COMMENT '创建时间',
    `gmt_modified` datetime     DEFAULT NULL COMMENT '更新时间',
    `ip`           varchar(128) DEFAULT NULL COMMENT '服务器IP地址',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uidx01_server_info` (`ip`),
    KEY `idx01_server_info` (`gmt_modified`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 1
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci COMMENT ='服务器表';
 
-- ----------------------------
-- Table structure for user_info
-- ----------------------------
DROP TABLE IF EXISTS `user_info`;
CREATE TABLE `user_info`
(
    `id`           bigint       NOT NULL AUTO_INCREMENT COMMENT '用户ID',
    `username`     varchar(128) not NULL COMMENT '用户名',
    `password`     varchar(255) default NULL COMMENT '密码',
    `phone`        varchar(255) DEFAULT NULL COMMENT '手机号',
    `email`        varchar(128) not NULL COMMENT '邮箱',
    `extra`        varchar(255) DEFAULT NULL COMMENT '扩展字段',
    `web_hook`     varchar(255) DEFAULT NULL COMMENT 'webhook地址',
    `gmt_create`   datetime     not NULL COMMENT '创建时间',
    `gmt_modified` datetime     not NULL COMMENT '更新时间',
    PRIMARY KEY (`id`),
    unique index uidx01_user_info (username),
    unique index uidx02_user_info (email)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci COMMENT ='用户表';
 
-- ----------------------------
-- Table structure for workflow_info
-- ----------------------------
DROP TABLE IF EXISTS `workflow_info`;
CREATE TABLE `workflow_info`
(
    `id`                   bigint       NOT NULL AUTO_INCREMENT COMMENT '工作流ID',
    `app_id`               bigint       not NULL COMMENT '应用ID',
    `wf_name`              varchar(128) not NULL COMMENT '工作流名称',
    `wf_description`       varchar(255)          default NULL COMMENT '工作流描述',
    `extra`                varchar(255)          DEFAULT NULL COMMENT '扩展字段',
    `lifecycle`            varchar(255)          DEFAULT NULL COMMENT '生命周期',
    `max_wf_instance_num`  int          not null DEFAULT 1 COMMENT '最大运行工作流数量,默认 1',
    `next_trigger_time`    bigint                DEFAULT NULL COMMENT '下次调度时间',
    `notify_user_ids`      varchar(255)          DEFAULT NULL COMMENT '报警用户(多值逗号分割)',
    `pedag`                text COMMENT 'DAG信息(JSON)',
    `status`               int          not NULL COMMENT '状态,1:正常ENABLE/2:已禁用DISABLE/99:已删除DELETED',
    `time_expression`      varchar(255)          DEFAULT NULL COMMENT '时间表达式,内容取决于time_expression_type,1:CRON/2:NULL/3:LONG/4:LONG',
    `time_expression_type` int          not NULL COMMENT '时间表达式类型,1:CRON/2:API/3:FIX_RATE/4:FIX_DELAY,5:WORKFLOW\n)',
    `gmt_create`           datetime              DEFAULT NULL COMMENT '创建时间',
    `gmt_modified`         datetime              DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx01_workflow_info` (`app_id`, `status`, `time_expression_type`, next_trigger_time)
) ENGINE = InnoDB
  AUTO_INCREMENT = 1
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci COMMENT ='工作流表';
 
-- ----------------------------
-- Table structure for workflow_instance_info
-- ----------------------------
DROP TABLE IF EXISTS `workflow_instance_info`;
CREATE TABLE `workflow_instance_info`
(
    `id`                    bigint NOT NULL AUTO_INCREMENT COMMENT '工作流实例ID',
    `wf_instance_id`        bigint   DEFAULT NULL COMMENT '工作流实例ID',
    `workflow_id`           bigint   DEFAULT NULL COMMENT '工作流ID',
    `actual_trigger_time`   bigint   DEFAULT NULL COMMENT '实际触发时间',
    `app_id`                bigint   DEFAULT NULL COMMENT '应用ID',
    `dag`                   text COMMENT 'DAG信息(JSON)',
    `expected_trigger_time` bigint   DEFAULT NULL COMMENT '计划触发时间',
    `finished_time`         bigint   DEFAULT NULL COMMENT '执行结束时间',
    `result`                text COMMENT '执行结果',
    `status`                int      DEFAULT NULL COMMENT '工作流实例状态,1:等待调度WAITING/2:运行中RUNNING/3:失败FAILED/4:成功SUCCEED/10:手动停止STOPPED',
    `wf_context`            text COMMENT '工作流上下文',
    `wf_init_params`        text COMMENT '工作流启动参数',
    `gmt_create`            datetime DEFAULT NULL COMMENT '创建时间',
    `gmt_modified`          datetime DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`),
    unique index uidx01_wf_instance (`wf_instance_id`),
    index idx01_wf_instance (`workflow_id`, `status`),
    index idx02_wf_instance (`app_id`, `status`, `expected_trigger_time`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 1
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci COMMENT ='工作流实例表';
 
-- ----------------------------
-- Table structure for workflow_node_info
-- ----------------------------
DROP TABLE IF EXISTS `workflow_node_info`;
CREATE TABLE `workflow_node_info`
(
    `id`               bigint   NOT NULL AUTO_INCREMENT COMMENT '节点ID',
    `app_id`           bigint   NOT NULL COMMENT '应用ID',
    `enable`           bit(1)   NOT NULL COMMENT '是否启动,0:否/1:是',
    `extra`            text COMMENT '扩展字段',
    `gmt_create`       datetime NOT NULL COMMENT '创建时间',
    `gmt_modified`     datetime NOT NULL COMMENT '更新时间',
    `job_id`           bigint       default NULL COMMENT '任务ID',
    `node_name`        varchar(255) DEFAULT NULL COMMENT '节点名称',
    `node_params`      text COMMENT '节点参数',
    `skip_when_failed` bit(1)   NOT NULL COMMENT '是否允许失败跳过,0:否/1:是',
    `type`             int          DEFAULT NULL COMMENT '节点类型,1:任务JOB',
    `workflow_id`      bigint       DEFAULT NULL COMMENT '工作流ID',
    PRIMARY KEY (`id`),
    KEY `idx01_workflow_node_info` (`workflow_id`,`gmt_create`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 1
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci COMMENT ='工作流节点表';
 
SET FOREIGN_KEY_CHECKS = 1;