mirror of
https://github.com/PowerJob/PowerJob.git
synced 2025-07-17 00:00:04 +08:00
[dev] support instance status query
This commit is contained in:
parent
53a99241e0
commit
44445901da
@ -2,14 +2,14 @@
|
|||||||
Navicat Premium Data Transfer
|
Navicat Premium Data Transfer
|
||||||
|
|
||||||
Source Server Type : MySQL
|
Source Server Type : MySQL
|
||||||
Source Server Version : 50724
|
Source Server Version : 80020
|
||||||
Source Schema : oms-product
|
Source Schema : powerjob-product
|
||||||
|
|
||||||
Target Server Type : MySQL
|
Target Server Type : MySQL
|
||||||
Target Server Version : 50724
|
Target Server Version : 80020
|
||||||
File Encoding : 65001
|
File Encoding : 65001
|
||||||
|
|
||||||
Date: 07/06/2020 11:11:47
|
Date: 23/06/2020 22:30:06
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SET NAMES utf8mb4;
|
SET NAMES utf8mb4;
|
||||||
@ -20,130 +20,131 @@ SET FOREIGN_KEY_CHECKS = 0;
|
|||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
DROP TABLE IF EXISTS `app_info`;
|
DROP TABLE IF EXISTS `app_info`;
|
||||||
CREATE TABLE `app_info` (
|
CREATE TABLE `app_info` (
|
||||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||||
`app_name` varchar(255) DEFAULT NULL,
|
`app_name` varchar(255) DEFAULT NULL,
|
||||||
`current_server` varchar(255) DEFAULT NULL,
|
`current_server` varchar(255) DEFAULT NULL,
|
||||||
`description` varchar(255) DEFAULT NULL,
|
|
||||||
`gmt_create` datetime(6) DEFAULT NULL,
|
`gmt_create` datetime(6) DEFAULT NULL,
|
||||||
`gmt_modified` datetime(6) DEFAULT NULL,
|
`gmt_modified` datetime(6) DEFAULT NULL,
|
||||||
|
`password` varchar(255) DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `appNameUK` (`app_name`)
|
UNIQUE KEY `appNameUK` (`app_name`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for container_info
|
-- Table structure for container_info
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
DROP TABLE IF EXISTS `container_info`;
|
DROP TABLE IF EXISTS `container_info`;
|
||||||
CREATE TABLE `container_info` (
|
CREATE TABLE `container_info` (
|
||||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||||
`app_id` bigint(20) DEFAULT NULL,
|
`app_id` bigint DEFAULT NULL,
|
||||||
`container_name` varchar(255) DEFAULT NULL,
|
`container_name` varchar(255) DEFAULT NULL,
|
||||||
`gmt_create` datetime(6) DEFAULT NULL,
|
`gmt_create` datetime(6) DEFAULT NULL,
|
||||||
`gmt_modified` datetime(6) DEFAULT NULL,
|
`gmt_modified` datetime(6) DEFAULT NULL,
|
||||||
`last_deploy_time` datetime(6) DEFAULT NULL,
|
`last_deploy_time` datetime(6) DEFAULT NULL,
|
||||||
`source_info` varchar(255) DEFAULT NULL,
|
`source_info` varchar(255) DEFAULT NULL,
|
||||||
`source_type` int(11) DEFAULT NULL,
|
`source_type` int DEFAULT NULL,
|
||||||
`status` int(11) DEFAULT NULL,
|
`status` int DEFAULT NULL,
|
||||||
`version` varchar(255) DEFAULT NULL,
|
`version` varchar(255) DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `IDX8hixyaktlnwil2w9up6b0p898` (`app_id`)
|
KEY `IDX8hixyaktlnwil2w9up6b0p898` (`app_id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for instance_info
|
-- Table structure for instance_info
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
DROP TABLE IF EXISTS `instance_info`;
|
DROP TABLE IF EXISTS `instance_info`;
|
||||||
CREATE TABLE `instance_info` (
|
CREATE TABLE `instance_info` (
|
||||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||||
`actual_trigger_time` bigint(20) DEFAULT NULL,
|
`actual_trigger_time` bigint DEFAULT NULL,
|
||||||
`app_id` bigint(20) DEFAULT NULL,
|
`app_id` bigint DEFAULT NULL,
|
||||||
`expected_trigger_time` bigint(20) DEFAULT NULL,
|
`expected_trigger_time` bigint DEFAULT NULL,
|
||||||
`finished_time` bigint(20) DEFAULT NULL,
|
`finished_time` bigint DEFAULT NULL,
|
||||||
`gmt_create` datetime(6) DEFAULT NULL,
|
`gmt_create` datetime(6) DEFAULT NULL,
|
||||||
`gmt_modified` datetime(6) DEFAULT NULL,
|
`gmt_modified` datetime(6) DEFAULT NULL,
|
||||||
`instance_id` bigint(20) DEFAULT NULL,
|
`instance_id` bigint DEFAULT NULL,
|
||||||
`instance_params` text,
|
`instance_params` text,
|
||||||
`job_id` bigint(20) DEFAULT NULL,
|
`job_id` bigint DEFAULT NULL,
|
||||||
|
`last_report_time` bigint DEFAULT NULL,
|
||||||
`result` text,
|
`result` text,
|
||||||
`running_times` bigint(20) DEFAULT NULL,
|
`running_times` bigint DEFAULT NULL,
|
||||||
`status` int(11) DEFAULT NULL,
|
`status` int DEFAULT NULL,
|
||||||
`task_tracker_address` varchar(255) DEFAULT NULL,
|
`task_tracker_address` varchar(255) DEFAULT NULL,
|
||||||
`type` int(11) DEFAULT NULL,
|
`type` int DEFAULT NULL,
|
||||||
`wf_instance_id` bigint(20) DEFAULT NULL,
|
`wf_instance_id` bigint DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `IDX5b1nhpe5je7gc5s1ur200njr7` (`job_id`),
|
KEY `IDX5b1nhpe5je7gc5s1ur200njr7` (`job_id`),
|
||||||
KEY `IDXjnji5lrr195kswk6f7mfhinrs` (`app_id`),
|
KEY `IDXjnji5lrr195kswk6f7mfhinrs` (`app_id`),
|
||||||
KEY `IDXa98hq3yu0l863wuotdjl7noum` (`instance_id`)
|
KEY `IDXa98hq3yu0l863wuotdjl7noum` (`instance_id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for job_info
|
-- Table structure for job_info
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
DROP TABLE IF EXISTS `job_info`;
|
DROP TABLE IF EXISTS `job_info`;
|
||||||
CREATE TABLE `job_info` (
|
CREATE TABLE `job_info` (
|
||||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||||
`app_id` bigint(20) DEFAULT NULL,
|
`app_id` bigint DEFAULT NULL,
|
||||||
`concurrency` int(11) DEFAULT NULL,
|
`concurrency` int DEFAULT NULL,
|
||||||
`designated_workers` varchar(255) DEFAULT NULL,
|
`designated_workers` varchar(255) DEFAULT NULL,
|
||||||
`execute_type` int(11) DEFAULT NULL,
|
`execute_type` int DEFAULT NULL,
|
||||||
`gmt_create` datetime(6) DEFAULT NULL,
|
`gmt_create` datetime(6) DEFAULT NULL,
|
||||||
`gmt_modified` datetime(6) DEFAULT NULL,
|
`gmt_modified` datetime(6) DEFAULT NULL,
|
||||||
`instance_retry_num` int(11) DEFAULT NULL,
|
`instance_retry_num` int DEFAULT NULL,
|
||||||
`instance_time_limit` bigint(20) DEFAULT NULL,
|
`instance_time_limit` bigint DEFAULT NULL,
|
||||||
`job_description` varchar(255) DEFAULT NULL,
|
`job_description` varchar(255) DEFAULT NULL,
|
||||||
`job_name` varchar(255) DEFAULT NULL,
|
`job_name` varchar(255) DEFAULT NULL,
|
||||||
`job_params` varchar(255) DEFAULT NULL,
|
`job_params` varchar(255) DEFAULT NULL,
|
||||||
`max_instance_num` int(11) DEFAULT NULL,
|
`max_instance_num` int DEFAULT NULL,
|
||||||
`max_worker_count` int(11) DEFAULT NULL,
|
`max_worker_count` int DEFAULT NULL,
|
||||||
`min_cpu_cores` double NOT NULL,
|
`min_cpu_cores` double NOT NULL,
|
||||||
`min_disk_space` double NOT NULL,
|
`min_disk_space` double NOT NULL,
|
||||||
`min_memory_space` double NOT NULL,
|
`min_memory_space` double NOT NULL,
|
||||||
`next_trigger_time` bigint(20) DEFAULT NULL,
|
`next_trigger_time` bigint DEFAULT NULL,
|
||||||
`notify_user_ids` varchar(255) DEFAULT NULL,
|
`notify_user_ids` varchar(255) DEFAULT NULL,
|
||||||
`processor_info` text,
|
`processor_info` text,
|
||||||
`processor_type` int(11) DEFAULT NULL,
|
`processor_type` int DEFAULT NULL,
|
||||||
`status` int(11) DEFAULT NULL,
|
`status` int DEFAULT NULL,
|
||||||
`task_retry_num` int(11) DEFAULT NULL,
|
`task_retry_num` int DEFAULT NULL,
|
||||||
`time_expression` varchar(255) DEFAULT NULL,
|
`time_expression` varchar(255) DEFAULT NULL,
|
||||||
`time_expression_type` int(11) DEFAULT NULL,
|
`time_expression_type` int DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `IDXk2xprmn3lldmlcb52i36udll1` (`app_id`)
|
KEY `IDXk2xprmn3lldmlcb52i36udll1` (`app_id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for oms_lock
|
-- Table structure for oms_lock
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
DROP TABLE IF EXISTS `oms_lock`;
|
DROP TABLE IF EXISTS `oms_lock`;
|
||||||
CREATE TABLE `oms_lock` (
|
CREATE TABLE `oms_lock` (
|
||||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||||
`gmt_create` datetime(6) DEFAULT NULL,
|
`gmt_create` datetime(6) DEFAULT NULL,
|
||||||
`gmt_modified` datetime(6) DEFAULT NULL,
|
`gmt_modified` datetime(6) DEFAULT NULL,
|
||||||
`lock_name` varchar(255) DEFAULT NULL,
|
`lock_name` varchar(255) DEFAULT NULL,
|
||||||
`max_lock_time` bigint(20) DEFAULT NULL,
|
`max_lock_time` bigint DEFAULT NULL,
|
||||||
`ownerip` varchar(255) DEFAULT NULL,
|
`ownerip` varchar(255) DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `lockNameUK` (`lock_name`)
|
UNIQUE KEY `lockNameUK` (`lock_name`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for server_info
|
-- Table structure for server_info
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
DROP TABLE IF EXISTS `server_info`;
|
DROP TABLE IF EXISTS `server_info`;
|
||||||
CREATE TABLE `server_info` (
|
CREATE TABLE `server_info` (
|
||||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||||
`gmt_create` datetime(6) DEFAULT NULL,
|
`gmt_create` datetime(6) DEFAULT NULL,
|
||||||
`gmt_modified` datetime(6) DEFAULT NULL,
|
`gmt_modified` datetime(6) DEFAULT NULL,
|
||||||
`ip` varchar(255) DEFAULT NULL,
|
`ip` varchar(255) DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `UKtk8ytgpl7mpukhnvhbl82kgvy` (`ip`)
|
UNIQUE KEY `UKtk8ytgpl7mpukhnvhbl82kgvy` (`ip`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for user_info
|
-- Table structure for user_info
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
DROP TABLE IF EXISTS `user_info`;
|
DROP TABLE IF EXISTS `user_info`;
|
||||||
CREATE TABLE `user_info` (
|
CREATE TABLE `user_info` (
|
||||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||||
`email` varchar(255) DEFAULT NULL,
|
`email` varchar(255) DEFAULT NULL,
|
||||||
`gmt_create` datetime(6) DEFAULT NULL,
|
`gmt_create` datetime(6) DEFAULT NULL,
|
||||||
`gmt_modified` datetime(6) DEFAULT NULL,
|
`gmt_modified` datetime(6) DEFAULT NULL,
|
||||||
@ -151,47 +152,47 @@ CREATE TABLE `user_info` (
|
|||||||
`phone` varchar(255) DEFAULT NULL,
|
`phone` varchar(255) DEFAULT NULL,
|
||||||
`username` varchar(255) DEFAULT NULL,
|
`username` varchar(255) DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for workflow_info
|
-- Table structure for workflow_info
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
DROP TABLE IF EXISTS `workflow_info`;
|
DROP TABLE IF EXISTS `workflow_info`;
|
||||||
CREATE TABLE `workflow_info` (
|
CREATE TABLE `workflow_info` (
|
||||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||||
`app_id` bigint(20) DEFAULT NULL,
|
`app_id` bigint DEFAULT NULL,
|
||||||
`gmt_create` datetime(6) DEFAULT NULL,
|
`gmt_create` datetime(6) DEFAULT NULL,
|
||||||
`gmt_modified` datetime(6) DEFAULT NULL,
|
`gmt_modified` datetime(6) DEFAULT NULL,
|
||||||
`max_wf_instance_num` int(11) DEFAULT NULL,
|
`max_wf_instance_num` int DEFAULT NULL,
|
||||||
`next_trigger_time` bigint(20) DEFAULT NULL,
|
`next_trigger_time` bigint DEFAULT NULL,
|
||||||
`notify_user_ids` varchar(255) DEFAULT NULL,
|
`notify_user_ids` varchar(255) DEFAULT NULL,
|
||||||
`pedag` text,
|
`pedag` text,
|
||||||
`status` int(11) DEFAULT NULL,
|
`status` int DEFAULT NULL,
|
||||||
`time_expression` varchar(255) DEFAULT NULL,
|
`time_expression` varchar(255) DEFAULT NULL,
|
||||||
`time_expression_type` int(11) DEFAULT NULL,
|
`time_expression_type` int DEFAULT NULL,
|
||||||
`wf_description` varchar(255) DEFAULT NULL,
|
`wf_description` varchar(255) DEFAULT NULL,
|
||||||
`wf_name` varchar(255) DEFAULT NULL,
|
`wf_name` varchar(255) DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `IDX7uo5w0e3beeho3fnx9t7eiol3` (`app_id`)
|
KEY `IDX7uo5w0e3beeho3fnx9t7eiol3` (`app_id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for workflow_instance_info
|
-- Table structure for workflow_instance_info
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
DROP TABLE IF EXISTS `workflow_instance_info`;
|
DROP TABLE IF EXISTS `workflow_instance_info`;
|
||||||
CREATE TABLE `workflow_instance_info` (
|
CREATE TABLE `workflow_instance_info` (
|
||||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||||
`actual_trigger_time` bigint(20) DEFAULT NULL,
|
`actual_trigger_time` bigint DEFAULT NULL,
|
||||||
`app_id` bigint(20) DEFAULT NULL,
|
`app_id` bigint DEFAULT NULL,
|
||||||
`dag` text,
|
`dag` text,
|
||||||
`finished_time` bigint(20) DEFAULT NULL,
|
`finished_time` bigint DEFAULT NULL,
|
||||||
`gmt_create` datetime(6) DEFAULT NULL,
|
`gmt_create` datetime(6) DEFAULT NULL,
|
||||||
`gmt_modified` datetime(6) DEFAULT NULL,
|
`gmt_modified` datetime(6) DEFAULT NULL,
|
||||||
`result` text,
|
`result` text,
|
||||||
`status` int(11) DEFAULT NULL,
|
`status` int DEFAULT NULL,
|
||||||
`wf_instance_id` bigint(20) DEFAULT NULL,
|
`wf_instance_id` bigint DEFAULT NULL,
|
||||||
`workflow_id` bigint(20) DEFAULT NULL,
|
`workflow_id` bigint DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
SET FOREIGN_KEY_CHECKS = 1;
|
SET FOREIGN_KEY_CHECKS = 1;
|
||||||
|
@ -34,6 +34,6 @@ echo "================== 准备启动 powerjob-agent =================="
|
|||||||
serverIP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' powerjob-server)
|
serverIP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' powerjob-server)
|
||||||
serverAddress="$serverIP:7700"
|
serverAddress="$serverIP:7700"
|
||||||
echo "使用的Server地址:$serverAddress"
|
echo "使用的Server地址:$serverAddress"
|
||||||
docker run -d -e PARAMS="--app powerjob-agent-test --server $serverAddress" -p 27777:27777 --name powerjob-agent -v ~/docker/powerjob-agent:/root tjqq/powerjob-agent:latest
|
docker run -d --restart=always -e PARAMS="--app powerjob-agent-test --server $serverAddress" -p 27777:27777 --name powerjob-agent -v ~/docker/powerjob-agent:/root tjqq/powerjob-agent:latest
|
||||||
docker run -d -e PARAMS="--app powerjob-agent-test --server $serverAddress" -p 27778:27777 --name powerjob-agent2 -v ~/docker/powerjob-agent2:/root tjqq/powerjob-agent:latest
|
docker run -d --restart=always -e PARAMS="--app powerjob-agent-test --server $serverAddress" -p 27778:27777 --name powerjob-agent2 -v ~/docker/powerjob-agent2:/root tjqq/powerjob-agent:latest
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# 基础镜像(支持 amd64 & arm64)
|
# 基础镜像(支持 amd64 & arm64),based on Ubuntu 18.04.4 LTS
|
||||||
FROM adoptopenjdk:8-jdk-hotspot
|
FROM adoptopenjdk:8-jdk-hotspot
|
||||||
# 维护者
|
# 维护者
|
||||||
MAINTAINER tengjiqi@gmail.com
|
MAINTAINER tengjiqi@gmail.com
|
||||||
@ -11,8 +11,9 @@ COPY settings.xml /opt/powerjob-maven/conf/settings.xml
|
|||||||
# 设置 maven 环境变量(maven invoker 读取该变量调用 maven)
|
# 设置 maven 环境变量(maven invoker 读取该变量调用 maven)
|
||||||
ENV M2_HOME=/opt/powerjob-maven
|
ENV M2_HOME=/opt/powerjob-maven
|
||||||
|
|
||||||
# 设置时区(Debian专用方法)
|
# 设置时区
|
||||||
ENV TZ=Asia/Shanghai
|
ENV TZ=Asia/Shanghai
|
||||||
|
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
|
||||||
# 设置其他环境变量
|
# 设置其他环境变量
|
||||||
ENV APP_NAME=powerjob-server
|
ENV APP_NAME=powerjob-server
|
||||||
|
@ -49,7 +49,7 @@ public class ClusterStatusHolder {
|
|||||||
|
|
||||||
Long oldTime = address2ActiveTime.getOrDefault(workerAddress, -1L);
|
Long oldTime = address2ActiveTime.getOrDefault(workerAddress, -1L);
|
||||||
if (heartbeatTime < oldTime) {
|
if (heartbeatTime < oldTime) {
|
||||||
log.warn("[ClusterStatusHolder-{}] receive the old heartbeat: {}.", appName, heartbeat);
|
log.warn("[ClusterStatusHolder-{}] receive the expired heartbeat from {}, serverTime: {}, heartTime: {}", appName, heartbeat.getWorkerAddress(), System.currentTimeMillis(), heartbeat.getHeartbeatTime());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.github.kfcfans.powerjob.server.web.controller;
|
package com.github.kfcfans.powerjob.server.web.controller;
|
||||||
|
|
||||||
|
import com.github.kfcfans.powerjob.common.InstanceStatus;
|
||||||
import com.github.kfcfans.powerjob.common.model.InstanceDetail;
|
import com.github.kfcfans.powerjob.common.model.InstanceDetail;
|
||||||
import com.github.kfcfans.powerjob.common.response.ResultDTO;
|
import com.github.kfcfans.powerjob.common.response.ResultDTO;
|
||||||
import com.github.kfcfans.powerjob.server.akka.OhMyServer;
|
import com.github.kfcfans.powerjob.server.akka.OhMyServer;
|
||||||
@ -21,6 +22,7 @@ import org.springframework.data.domain.Example;
|
|||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.PageRequest;
|
||||||
import org.springframework.data.domain.Sort;
|
import org.springframework.data.domain.Sort;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@ -112,6 +114,10 @@ public class InstanceController {
|
|||||||
BeanUtils.copyProperties(request, queryEntity);
|
BeanUtils.copyProperties(request, queryEntity);
|
||||||
queryEntity.setType(request.getType().getV());
|
queryEntity.setType(request.getType().getV());
|
||||||
|
|
||||||
|
if (!StringUtils.isEmpty(request.getStatus())) {
|
||||||
|
queryEntity.setStatus(InstanceStatus.valueOf(request.getStatus()).getV());
|
||||||
|
}
|
||||||
|
|
||||||
Page<InstanceInfoDO> pageResult = instanceInfoRepository.findAll(Example.of(queryEntity), pageable);
|
Page<InstanceInfoDO> pageResult = instanceInfoRepository.findAll(Example.of(queryEntity), pageable);
|
||||||
return ResultDTO.success(convertPage(pageResult));
|
return ResultDTO.success(convertPage(pageResult));
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package com.github.kfcfans.powerjob.server.web.controller;
|
|||||||
import akka.actor.ActorSelection;
|
import akka.actor.ActorSelection;
|
||||||
import akka.pattern.Patterns;
|
import akka.pattern.Patterns;
|
||||||
import com.github.kfcfans.powerjob.common.InstanceStatus;
|
import com.github.kfcfans.powerjob.common.InstanceStatus;
|
||||||
|
import com.github.kfcfans.powerjob.common.OmsConstant;
|
||||||
import com.github.kfcfans.powerjob.common.RemoteConstant;
|
import com.github.kfcfans.powerjob.common.RemoteConstant;
|
||||||
import com.github.kfcfans.powerjob.common.model.SystemMetrics;
|
import com.github.kfcfans.powerjob.common.model.SystemMetrics;
|
||||||
import com.github.kfcfans.powerjob.common.response.AskResponse;
|
import com.github.kfcfans.powerjob.common.response.AskResponse;
|
||||||
@ -18,6 +19,7 @@ import com.github.kfcfans.powerjob.server.web.response.SystemOverviewVO;
|
|||||||
import com.github.kfcfans.powerjob.server.web.response.WorkerStatusVO;
|
import com.github.kfcfans.powerjob.server.web.response.WorkerStatusVO;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||||
import org.apache.commons.lang3.time.DateUtils;
|
import org.apache.commons.lang3.time.DateUtils;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
@ -103,8 +105,10 @@ public class SystemInfoController {
|
|||||||
Date date = DateUtils.addDays(new Date(), -1);
|
Date date = DateUtils.addDays(new Date(), -1);
|
||||||
overview.setFailedInstanceCount(instanceInfoRepository.countByAppIdAndStatusAndGmtCreateAfter(appId, InstanceStatus.FAILED.getV(), date));
|
overview.setFailedInstanceCount(instanceInfoRepository.countByAppIdAndStatusAndGmtCreateAfter(appId, InstanceStatus.FAILED.getV(), date));
|
||||||
|
|
||||||
|
// 服务器时区
|
||||||
|
overview.setTimezone(TimeZone.getDefault().getDisplayName());
|
||||||
// 服务器时间
|
// 服务器时间
|
||||||
overview.setServerTime(System.currentTimeMillis());
|
overview.setServerTime(DateFormatUtils.format(new Date(), OmsConstant.TIME_PATTERN));
|
||||||
|
|
||||||
return ResultDTO.success(overview);
|
return ResultDTO.success(overview);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.github.kfcfans.powerjob.server.web.controller;
|
package com.github.kfcfans.powerjob.server.web.controller;
|
||||||
|
|
||||||
|
import com.github.kfcfans.powerjob.common.WorkflowInstanceStatus;
|
||||||
import com.github.kfcfans.powerjob.common.response.ResultDTO;
|
import com.github.kfcfans.powerjob.common.response.ResultDTO;
|
||||||
import com.github.kfcfans.powerjob.server.persistence.PageResult;
|
import com.github.kfcfans.powerjob.server.persistence.PageResult;
|
||||||
import com.github.kfcfans.powerjob.server.persistence.core.model.WorkflowInstanceInfoDO;
|
import com.github.kfcfans.powerjob.server.persistence.core.model.WorkflowInstanceInfoDO;
|
||||||
@ -13,6 +14,7 @@ import org.springframework.data.domain.Example;
|
|||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.PageRequest;
|
||||||
import org.springframework.data.domain.Sort;
|
import org.springframework.data.domain.Sort;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@ -54,6 +56,11 @@ public class WorkflowInstanceController {
|
|||||||
|
|
||||||
WorkflowInstanceInfoDO queryEntity = new WorkflowInstanceInfoDO();
|
WorkflowInstanceInfoDO queryEntity = new WorkflowInstanceInfoDO();
|
||||||
BeanUtils.copyProperties(req, queryEntity);
|
BeanUtils.copyProperties(req, queryEntity);
|
||||||
|
|
||||||
|
if (!StringUtils.isEmpty(req.getStatus())) {
|
||||||
|
queryEntity.setStatus(WorkflowInstanceStatus.valueOf(req.getStatus()).getV());
|
||||||
|
}
|
||||||
|
|
||||||
Page<WorkflowInstanceInfoDO> ps = workflowInstanceInfoRepository.findAll(Example.of(queryEntity), pageable);
|
Page<WorkflowInstanceInfoDO> ps = workflowInstanceInfoRepository.findAll(Example.of(queryEntity), pageable);
|
||||||
|
|
||||||
return ResultDTO.success(convertPage(ps));
|
return ResultDTO.success(convertPage(ps));
|
||||||
|
@ -24,4 +24,6 @@ public class QueryInstanceRequest {
|
|||||||
private Long instanceId;
|
private Long instanceId;
|
||||||
private Long jobId;
|
private Long jobId;
|
||||||
private Long wfInstanceId;
|
private Long wfInstanceId;
|
||||||
|
|
||||||
|
private String status;
|
||||||
}
|
}
|
||||||
|
@ -21,4 +21,6 @@ public class QueryWorkflowInstanceRequest {
|
|||||||
// 查询条件(NORMAL/WORKFLOW)
|
// 查询条件(NORMAL/WORKFLOW)
|
||||||
private Long wfInstanceId;
|
private Long wfInstanceId;
|
||||||
private Long workflowId;
|
private Long workflowId;
|
||||||
|
|
||||||
|
private String status;
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,8 @@ public class SystemOverviewVO {
|
|||||||
private long jobCount;
|
private long jobCount;
|
||||||
private long runningInstanceCount;
|
private long runningInstanceCount;
|
||||||
private long failedInstanceCount;
|
private long failedInstanceCount;
|
||||||
|
// 服务器时区
|
||||||
|
private String timezone;
|
||||||
// 服务器时间
|
// 服务器时间
|
||||||
private long serverTime;
|
private String serverTime;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
package com.github.kfcfans.powerjob.server.test;
|
||||||
|
|
||||||
|
import com.github.kfcfans.powerjob.common.OmsConstant;
|
||||||
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.TimeZone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 时区问题测试
|
||||||
|
*
|
||||||
|
* @author tjq
|
||||||
|
* @since 2020/6/24
|
||||||
|
*/
|
||||||
|
public class TimezoneTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testTimeZone() {
|
||||||
|
Date now = new Date();
|
||||||
|
System.out.println(now.toString());
|
||||||
|
|
||||||
|
System.out.println("timestamp before GMT: " + System.currentTimeMillis());
|
||||||
|
|
||||||
|
TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
|
||||||
|
TimeZone timeZone = TimeZone.getDefault();
|
||||||
|
System.out.println(timeZone.getDisplayName());
|
||||||
|
System.out.println(new Date());
|
||||||
|
System.out.println(DateFormatUtils.format(new Date(), OmsConstant.TIME_PATTERN));
|
||||||
|
|
||||||
|
System.out.println("timestamp after GMT: " + System.currentTimeMillis());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -3,6 +3,7 @@ FROM adoptopenjdk:8-jdk-hotspot
|
|||||||
MAINTAINER tengjiqi@gmail.com
|
MAINTAINER tengjiqi@gmail.com
|
||||||
# 设置时区
|
# 设置时区
|
||||||
ENV TZ=Asia/Shanghai
|
ENV TZ=Asia/Shanghai
|
||||||
|
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
|
||||||
ENV APP_NAME=powerjob-worker-agent
|
ENV APP_NAME=powerjob-worker-agent
|
||||||
ENV PARAMS=""
|
ENV PARAMS=""
|
||||||
|
@ -62,18 +62,18 @@ public class ServerDiscoveryService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (StringUtils.isEmpty(result)) {
|
if (StringUtils.isEmpty(result)) {
|
||||||
log.warn("[OMS-ServerDiscoveryService] can't find any available server, this worker has been quarantined.");
|
log.warn("[OmsServerDiscovery] can't find any available server, this worker has been quarantined.");
|
||||||
|
|
||||||
// 在 Server 高可用的前提下,连续失败多次,说明该节点与外界失联,Server已经将秒级任务转移到其他Worker,需要杀死本地的任务
|
// 在 Server 高可用的前提下,连续失败多次,说明该节点与外界失联,Server已经将秒级任务转移到其他Worker,需要杀死本地的任务
|
||||||
if (FAILED_COUNT++ > MAX_FAILED_COUNT) {
|
if (FAILED_COUNT++ > MAX_FAILED_COUNT) {
|
||||||
|
|
||||||
log.error("[OMS-ServerDiscoveryService] can't find any available server for 3 consecutive times, It's time to kill all frequent job in this worker.");
|
log.warn("[OmsServerDiscovery] can't find any available server for 3 consecutive times, It's time to kill all frequent job in this worker.");
|
||||||
List<Long> frequentInstanceIds = TaskTrackerPool.getAllFrequentTaskTrackerKeys();
|
List<Long> frequentInstanceIds = TaskTrackerPool.getAllFrequentTaskTrackerKeys();
|
||||||
if (!CollectionUtils.isEmpty(frequentInstanceIds)) {
|
if (!CollectionUtils.isEmpty(frequentInstanceIds)) {
|
||||||
frequentInstanceIds.forEach(instanceId -> {
|
frequentInstanceIds.forEach(instanceId -> {
|
||||||
TaskTracker taskTracker = TaskTrackerPool.remove(instanceId);
|
TaskTracker taskTracker = TaskTrackerPool.remove(instanceId);
|
||||||
taskTracker.destroy();
|
taskTracker.destroy();
|
||||||
log.warn("[OMS-ServerDiscoveryService] kill frequent instance(instanceId={}) due to can't find any available server.", instanceId);
|
log.warn("[OmsServerDiscovery] kill frequent instance(instanceId={}) due to can't find any available server.", instanceId);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ public class ServerDiscoveryService {
|
|||||||
}else {
|
}else {
|
||||||
// 重置失败次数
|
// 重置失败次数
|
||||||
FAILED_COUNT = 0;
|
FAILED_COUNT = 0;
|
||||||
log.debug("[OMS-ServerDiscoveryService] current server is {}.", result);
|
log.debug("[OmsServerDiscovery] current server is {}.", result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user