服务迁移
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.sdm.flowable.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@@ -33,33 +34,43 @@ public class AsyncTaskRecord implements Serializable {
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "异步任务唯一标识,全局唯一,用于定位单个异步任务")
|
||||
@TableField(value = "asyncTaskId")
|
||||
private String asyncTaskId;
|
||||
|
||||
@ApiModelProperty(value = "流程实例ID,关联工作流引擎的流程实例(如Camunda的processInstanceId)")
|
||||
@TableField(value = "processInstanceId")
|
||||
private String processInstanceId;
|
||||
|
||||
@ApiModelProperty(value = "流程执行ID,关联工作流引擎的执行实例(如Camunda的executionId)")
|
||||
@TableField(value = "executionId")
|
||||
private String executionId;
|
||||
|
||||
@ApiModelProperty(value = "接收任务ID,关联工作流中接收任务节点的ID(用于异步回调触发流程继续)")
|
||||
@TableField(value = "receiveTaskId")
|
||||
private String receiveTaskId;
|
||||
|
||||
@ApiModelProperty(value = "业务处理器类型,标识任务对应的业务处理逻辑,例如:HPC(高性能计算)/OCR(图文识别)/AI(智能分析)")
|
||||
@TableField(value = "handlerType")
|
||||
private String handlerType;
|
||||
|
||||
@ApiModelProperty(value = "任务请求参数,JSON格式字符串,存储触发异步任务时的入参信息")
|
||||
@TableField(value = "requestJson")
|
||||
private String requestJson;
|
||||
|
||||
@ApiModelProperty(value = "任务执行结果,JSON格式字符串,存储异步任务完成后的返回数据(成功/失败均记录)")
|
||||
@TableField(value = "resultJson")
|
||||
private String resultJson;
|
||||
|
||||
@ApiModelProperty(value = "任务状态:INIT(初始化)/RUNNING(执行中)/SUCCESS(执行成功)/FAIL(执行失败)")
|
||||
@TableField(value = "status")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty(value = "任务创建时间,默认当前时间")
|
||||
@TableField(value = "createTime")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@ApiModelProperty(value = "任务更新时间,数据变更时自动更新为当前时间")
|
||||
@TableField(value = "updateTime")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
|
||||
|
||||
40
flowable/src/main/resources/application-dev-190.yml
Normal file
40
flowable/src/main/resources/application-dev-190.yml
Normal file
@@ -0,0 +1,40 @@
|
||||
server:
|
||||
port: 7106
|
||||
spring:
|
||||
application:
|
||||
name: flowable
|
||||
datasource:
|
||||
url: jdbc:mysql://192.168.190.161:3306/flowable?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: mysql
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
flowable:
|
||||
# ?????????
|
||||
database-schema-update: true
|
||||
# ??????JOB
|
||||
async-executor-activate: true
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 192.168.190.161:8848
|
||||
group: DEV_GROUP
|
||||
enabled: true
|
||||
|
||||
logging:
|
||||
level:
|
||||
org:
|
||||
flowable: INFO
|
||||
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath*:/mapper/**/*.xml
|
||||
type-aliases-package: com.sdm.flowable.model.entity
|
||||
configuration:
|
||||
map-underscore-to-camel-case: true
|
||||
global-config:
|
||||
db-config:
|
||||
id-type: auto
|
||||
security:
|
||||
whitelist:
|
||||
paths:
|
||||
- /process/testHpc
|
||||
- /process/asyncCallback
|
||||
13
flowable/src/main/resources/bin/190/log.sh
Normal file
13
flowable/src/main/resources/bin/190/log.sh
Normal file
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
# Spring Boot 项目日志查看脚本
|
||||
LOG_HOME="/home/app/flowable/logs"
|
||||
LOG_FILE="${LOG_HOME}/running.log"
|
||||
|
||||
|
||||
# 查看实时日志
|
||||
if [ ! -f "${LOG_FILE}" ]; then
|
||||
echo "日志文件不存在:${LOG_FILE}(可能项目未启动)"
|
||||
exit 1
|
||||
fi
|
||||
echo "正在查看实时运行日志(按 Ctrl+C 退出)... 日志路径:${LOG_FILE}"
|
||||
tail -f "${LOG_FILE}"
|
||||
25
flowable/src/main/resources/bin/190/restart.sh
Normal file
25
flowable/src/main/resources/bin/190/restart.sh
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
# Spring Boot 项目重启脚本
|
||||
|
||||
# 定义基础路径(公共参数)
|
||||
BASE_DIR="/home/app/flowable"
|
||||
|
||||
echo "=== 开始重启项目 ==="
|
||||
|
||||
# 先停止服务
|
||||
if [ -f "${BASE_DIR}/stop.sh" ]; then
|
||||
"${BASE_DIR}/stop.sh"
|
||||
else
|
||||
echo "错误:未找到停止脚本 ${BASE_DIR}/stop.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 再启动服务
|
||||
if [ -f "${BASE_DIR}/start.sh" ]; then
|
||||
"${BASE_DIR}/start.sh"
|
||||
else
|
||||
echo "错误:未找到启动脚本 ${BASE_DIR}/start.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "=== 重启操作完成 ==="
|
||||
45
flowable/src/main/resources/bin/190/start.sh
Normal file
45
flowable/src/main/resources/bin/190/start.sh
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
# Spring Boot 项目启动脚本
|
||||
JAR_PATH="/home/app/flowable"
|
||||
JAR_NAME="flowable-0.0.1-SNAPSHOT.jar"
|
||||
FULL_JAR_PATH="${JAR_PATH}/${JAR_NAME}"
|
||||
|
||||
# 与logback.xml保持一致的日志路径
|
||||
LOG_HOME="/home/app/flowable/logs"
|
||||
LOG_FILE="${LOG_HOME}/running.log"
|
||||
|
||||
# JVM参数
|
||||
JVM_OPTS="-Xms512m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${LOG_HOME}/heapdump.hprof"
|
||||
|
||||
# 函数定义
|
||||
check_jar_exists() {
|
||||
if [ ! -f "${FULL_JAR_PATH}" ]; then
|
||||
echo "ERROR: Jar包不存在!路径:${FULL_JAR_PATH}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
get_running_pid() {
|
||||
ps -ef | grep "${JAR_NAME}" | grep -v "grep" | awk '{print $2}'
|
||||
}
|
||||
|
||||
# 检查是否已运行
|
||||
PID=$(get_running_pid)
|
||||
if [ -n "${PID}" ]; then
|
||||
echo "项目已在运行中!PID: ${PID}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 检查Jar包是否存在
|
||||
check_jar_exists
|
||||
|
||||
# 确保日志目录存在
|
||||
if [ ! -d "${LOG_HOME}" ]; then
|
||||
mkdir -p "${LOG_HOME}"
|
||||
echo "日志目录不存在,已自动创建:${LOG_HOME}"
|
||||
fi
|
||||
|
||||
|
||||
# 启动项目
|
||||
echo "正在启动项目..."
|
||||
nohup java ${JVM_OPTS} -Dspring.profiles.active=dev-190 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:5003 -jar "${FULL_JAR_PATH}" > "${LOG_FILE}" 2>&1 &
|
||||
20
flowable/src/main/resources/bin/190/status.sh
Normal file
20
flowable/src/main/resources/bin/190/status.sh
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
# Spring Boot 项目状态查询脚本
|
||||
JAR_NAME="flowable-0.0.1-SNAPSHOT.jar"
|
||||
LOG_HOME="/home/app/flowable/logs"
|
||||
LOG_FILE="${LOG_HOME}/running.log"
|
||||
|
||||
|
||||
# 函数定义
|
||||
get_running_pid() {
|
||||
ps -ef | grep "${JAR_NAME}" | grep -v "grep" | awk '{print $2}'
|
||||
}
|
||||
|
||||
# 查看服务状态
|
||||
PID=$(get_running_pid)
|
||||
if [ -n "${PID}" ]; then
|
||||
echo "项目运行中!PID: ${PID}"
|
||||
echo "日志文件路径:${LOG_FILE}"
|
||||
else
|
||||
echo "项目未在运行中"
|
||||
fi
|
||||
40
flowable/src/main/resources/bin/190/stop.sh
Normal file
40
flowable/src/main/resources/bin/190/stop.sh
Normal file
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
# Spring Boot 项目停止脚本
|
||||
JAR_NAME="flowable-0.0.1-SNAPSHOT.jar"
|
||||
|
||||
|
||||
# 函数定义
|
||||
get_running_pid() {
|
||||
ps -ef | grep "${JAR_NAME}" | grep -v "grep" | awk '{print $2}'
|
||||
}
|
||||
|
||||
# 停止服务
|
||||
PID=$(get_running_pid)
|
||||
if [ -z "${PID}" ]; then
|
||||
echo "项目未在运行中,无需停止"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "正在停止项目... PID: ${PID}"
|
||||
kill -15 "${PID}"
|
||||
|
||||
WAIT=0
|
||||
while [ ${WAIT} -lt 10 ]; do
|
||||
if [ -z "$(get_running_pid)" ]; then
|
||||
echo "项目已优雅停止"
|
||||
exit 0
|
||||
fi
|
||||
sleep 1
|
||||
WAIT=$((WAIT + 1))
|
||||
done
|
||||
|
||||
echo "优雅停止超时,强制终止进程... PID: ${PID}"
|
||||
kill -9 "${PID}"
|
||||
|
||||
sleep 2
|
||||
if [ -z "$(get_running_pid)" ]; then
|
||||
echo "项目已强制停止"
|
||||
else
|
||||
echo "ERROR: 进程终止失败!请手动检查:ps -ef | grep ${JAR_NAME}"
|
||||
exit 1
|
||||
fi
|
||||
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
# Spring Boot 项目日志查看脚本
|
||||
LOG_HOME="/home/app/flowable/logs"
|
||||
LOG_FILE="${LOG_HOME}/running.log"
|
||||
|
||||
|
||||
# 查看实时日志
|
||||
if [ ! -f "${LOG_FILE}" ]; then
|
||||
echo "日志文件不存在:${LOG_FILE}(可能项目未启动)"
|
||||
exit 1
|
||||
fi
|
||||
echo "正在查看实时运行日志(按 Ctrl+C 退出)... 日志路径:${LOG_FILE}"
|
||||
tail -f "${LOG_FILE}"
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
# Spring Boot 项目停止脚本
|
||||
JAR_NAME="flowable-0.0.1-SNAPSHOT.jar"
|
||||
|
||||
|
||||
# 函数定义
|
||||
get_running_pid() {
|
||||
ps -ef | grep "${JAR_NAME}" | grep -v "grep" | awk '{print $2}'
|
||||
}
|
||||
|
||||
# 停止服务
|
||||
PID=$(get_running_pid)
|
||||
if [ -z "${PID}" ]; then
|
||||
echo "项目未在运行中,无需停止"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "正在停止项目... PID: ${PID}"
|
||||
kill -15 "${PID}"
|
||||
|
||||
WAIT=0
|
||||
while [ ${WAIT} -lt 10 ]; do
|
||||
if [ -z "$(get_running_pid)" ]; then
|
||||
echo "项目已优雅停止"
|
||||
exit 0
|
||||
fi
|
||||
sleep 1
|
||||
WAIT=$((WAIT + 1))
|
||||
done
|
||||
|
||||
echo "优雅停止超时,强制终止进程... PID: ${PID}"
|
||||
kill -9 "${PID}"
|
||||
|
||||
sleep 2
|
||||
if [ -z "$(get_running_pid)" ]; then
|
||||
echo "项目已强制停止"
|
||||
else
|
||||
echo "ERROR: 进程终止失败!请手动检查:ps -ef | grep ${JAR_NAME}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user