Commit 0e4488b0 authored by 赵啸非's avatar 赵啸非

添加php健康度检测

parent 9e810a03
...@@ -3,11 +3,13 @@ package com.mortals.xhx.daemon.task; ...@@ -3,11 +3,13 @@ package com.mortals.xhx.daemon.task;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException; import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ITask; import com.mortals.framework.service.ITask;
import com.mortals.framework.service.ITaskExcuteService; import com.mortals.framework.service.ITaskExcuteService;
import com.mortals.xhx.base.system.user.service.UserService; import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.code.ProductDisEnum;
import com.mortals.xhx.common.code.ProjectStatusEnum; import com.mortals.xhx.common.code.ProjectStatusEnum;
import com.mortals.xhx.common.code.ProjectTypeEnum; import com.mortals.xhx.common.code.ProjectTypeEnum;
import com.mortals.xhx.common.pdu.ListItem; import com.mortals.xhx.common.pdu.ListItem;
...@@ -69,7 +71,7 @@ public class CheckProjectStatusTaskImpl implements ITaskExcuteService { ...@@ -69,7 +71,7 @@ public class CheckProjectStatusTaskImpl implements ITaskExcuteService {
} catch (JSONException e) { } catch (JSONException e) {
log.info("json反序列化异常:{},返回:{}", e.getMessage(), resp); log.info("json反序列化异常:{},返回:{}", e.getMessage(), resp);
if(setupProjectEntity.getProjectStatus()>ProjectStatusEnum.未部署.getValue()){ if (setupProjectEntity.getProjectStatus() > ProjectStatusEnum.未部署.getValue()) {
setupProjectEntity.setProjectStatus(ProjectStatusEnum.停止.getValue()); setupProjectEntity.setProjectStatus(ProjectStatusEnum.停止.getValue());
setupProjectEntity.setUpdateTime(new Date()); setupProjectEntity.setUpdateTime(new Date());
setupProjectService.update(setupProjectEntity); setupProjectService.update(setupProjectEntity);
...@@ -91,6 +93,44 @@ public class CheckProjectStatusTaskImpl implements ITaskExcuteService { ...@@ -91,6 +93,44 @@ public class CheckProjectStatusTaskImpl implements ITaskExcuteService {
setupProjectService.update(setupProjectEntity); setupProjectService.update(setupProjectEntity);
} }
log.info("前端资源路径:{},是否存在:{}", destPath, uiFile.exists()); log.info("前端资源路径:{},是否存在:{}", destPath, uiFile.exists());
} else if (ProjectTypeEnum.PHP后端.getValue() == setupProjectEntity.getProjectType()) {
//todo 前端 判断路径文件是否存在 如果存在 则代表运行
if (ProductDisEnum.排号系统PHP后端.getValue().equals(setupProjectEntity.getProjectCode())) {
String serverUrl = "http://127.0.0.1:11078/zwfw_api/api/upload/dictionary";
String resp = HttpUtil.get(serverUrl);
try {
JSON.parseObject(resp);
setupProjectEntity.setProjectStatus(ProjectStatusEnum.运行中.getValue());
setupProjectEntity.setUpdateTime(new Date());
setupProjectService.update(setupProjectEntity);
} catch (JSONException e) {
log.info("json反序列化异常:{},返回:{}", e.getMessage(), resp);
if (setupProjectEntity.getProjectStatus() > ProjectStatusEnum.未部署.getValue()) {
setupProjectEntity.setProjectStatus(ProjectStatusEnum.停止.getValue());
setupProjectEntity.setUpdateTime(new Date());
setupProjectService.update(setupProjectEntity);
}
}
}
if (ProductDisEnum.窗口服务行为监察PHP后端.getValue().equals(setupProjectEntity.getProjectCode())) {
String serverUrl = "http://127.0.0.1:11030/admin/waited/verify";
String resp = HttpUtil.get(serverUrl);
try {
JSON.parseObject(resp);
setupProjectEntity.setProjectStatus(ProjectStatusEnum.运行中.getValue());
setupProjectEntity.setUpdateTime(new Date());
setupProjectService.update(setupProjectEntity);
} catch (JSONException e) {
log.info("json反序列化异常:{},返回:{}", e.getMessage(), resp);
if (setupProjectEntity.getProjectStatus() > ProjectStatusEnum.未部署.getValue()) {
setupProjectEntity.setProjectStatus(ProjectStatusEnum.停止.getValue());
setupProjectEntity.setUpdateTime(new Date());
setupProjectService.update(setupProjectEntity);
}
}
}
} else { } else {
} }
......
...@@ -287,21 +287,33 @@ setup_rabbitmq() { ...@@ -287,21 +287,33 @@ setup_rabbitmq() {
writelog "docker 安装rabbitmq。。。。" writelog "docker 安装rabbitmq。。。。"
docker=$(docker --version | grep "Docker" | awk '{print $1}') docker=$(docker --version | grep "Docker" | awk '{print $1}')
if [ "$docker" != "Docker" ]; then if [ "$docker" != "Docker" ]; then
writelog "未安装docker 请先安装docker" writelog "未安装docker 请先安装docker!"
return 1 return
fi fi
#删除容器与镜像 #删除容器与镜像
writelog "docker 卸载rabbitmq。。。。" writelog "docker 卸载rabbitmq。。。。"
docker stop rabbitmq containId=$(docker ps -a | grep -v "grep" | grep "rabbitmq" | awk '{print $1}')
docker rm rabbitmq imageId=$(docker images | grep -v "grep" | grep "rabbitmq" | awk '{print $3}')
docker rmi rabbitmq:v3.10
if [ "$containId" != "" ]; then
writelog "停止和删除容器:"${containId}" 镜像:${imageId}"
docker stop ${containId}
docker rm ${containId}
docker rmi ${imageId}
fi
writelog "docker 加载rabbitmq镜像中。。。。" writelog "docker 加载rabbitmq镜像中。。。。"
docker load <${BASEDIR}/soft/${RABBITMQ}/rabbitmq.tar docker load <${BASEDIR}/soft/${RABBITMQ}/rabbitmq.tar
writelog "创建容器并启动中。。。" writelog "创建容器并启动中。。。"
docker run -d --restart=always --name rabbitmq -p 5672:5672 -p 15674:15674 -p 15672:15672 rabbitmq:v3.10 docker run -d --restart=always --name rabbitmq -p 5672:5672 -p 15674:15674 -p 15672:15672 4ec067de45e0
writelog "容器启动都完成,初始化插件" writelog "容器启动都完成,初始化插件"
docker exec -i rabbitmq /bin/bash -c 'rabbitmq-plugins enable rabbitmq_management&&rabbitmq-plugins enable rabbitmq_web_stomp rabbitmq_web_stomp_examples&&rabbitmqctl add_user taxi_mq admin@2020&&rabbitmqctl set_user_tags taxi_mq administrator&&rabbitmqctl set_permissions -p / taxi_mq ".*" ".*" ".*"' docker exec -i rabbitmq /bin/bash -c 'rabbitmq-plugins enable rabbitmq_management&&rabbitmq-plugins enable rabbitmq_web_stomp rabbitmq_web_stomp_examples'
writelog "容器重新启动..."
docker restart rabbitmq
sleep 5
writelog "初始化添加用户"
docker exec -i rabbitmq /bin/bash -c 'rabbitmqctl add_user taxi_mq admin@2020&&rabbitmqctl set_user_tags taxi_mq administrator&&rabbitmqctl set_permissions -p / taxi_mq ".*" ".*" ".*"'
writelog "rabbitmq 安装完成!" writelog "rabbitmq 安装完成!"
} }
...@@ -397,7 +409,6 @@ setup_font() { ...@@ -397,7 +409,6 @@ setup_font() {
setup_docker() { setup_docker() {
writelog "docker卸载..." writelog "docker卸载..."
docker stop $(docker ps -aq) docker stop $(docker ps -aq)
docker rm $(docker ps -aq) docker rm $(docker ps -aq)
docker rmi $(docker images -q) docker rmi $(docker images -q)
...@@ -807,11 +818,7 @@ function subnum() { #选项 ...@@ -807,11 +818,7 @@ function subnum() { #选项
;; ;;
4) 4)
#rabbitmq #rabbitmq
result=$(setup_rabbitmq) setup_rabbitmq
if [ "$result" = "1" ]; then
#提示安装失败
read -p "安装rabbitmq请先安装docker!"
fi
;; ;;
5) 5)
#nginx #nginx
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment