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

添加php健康度检测

parent 9e810a03
......@@ -3,11 +3,13 @@ package com.mortals.xhx.daemon.task;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ITask;
import com.mortals.framework.service.ITaskExcuteService;
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.ProjectTypeEnum;
import com.mortals.xhx.common.pdu.ListItem;
......@@ -69,7 +71,7 @@ public class CheckProjectStatusTaskImpl implements ITaskExcuteService {
} catch (JSONException e) {
log.info("json反序列化异常:{},返回:{}", e.getMessage(), resp);
if(setupProjectEntity.getProjectStatus()>ProjectStatusEnum.未部署.getValue()){
if (setupProjectEntity.getProjectStatus() > ProjectStatusEnum.未部署.getValue()) {
setupProjectEntity.setProjectStatus(ProjectStatusEnum.停止.getValue());
setupProjectEntity.setUpdateTime(new Date());
setupProjectService.update(setupProjectEntity);
......@@ -91,6 +93,44 @@ public class CheckProjectStatusTaskImpl implements ITaskExcuteService {
setupProjectService.update(setupProjectEntity);
}
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 {
}
......
......@@ -287,21 +287,33 @@ setup_rabbitmq() {
writelog "docker 安装rabbitmq。。。。"
docker=$(docker --version | grep "Docker" | awk '{print $1}')
if [ "$docker" != "Docker" ]; then
writelog "未安装docker 请先安装docker"
return 1
writelog "未安装docker 请先安装docker!"
return
fi
#删除容器与镜像
writelog "docker 卸载rabbitmq。。。。"
docker stop rabbitmq
docker rm rabbitmq
docker rmi rabbitmq:v3.10
containId=$(docker ps -a | grep -v "grep" | grep "rabbitmq" | awk '{print $1}')
imageId=$(docker images | grep -v "grep" | grep "rabbitmq" | awk '{print $3}')
if [ "$containId" != "" ]; then
writelog "停止和删除容器:"${containId}" 镜像:${imageId}"
docker stop ${containId}
docker rm ${containId}
docker rmi ${imageId}
fi
writelog "docker 加载rabbitmq镜像中。。。。"
docker load <${BASEDIR}/soft/${RABBITMQ}/rabbitmq.tar
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 "容器启动都完成,初始化插件"
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 安装完成!"
}
......@@ -397,7 +409,6 @@ setup_font() {
setup_docker() {
writelog "docker卸载..."
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker rmi $(docker images -q)
......@@ -807,11 +818,7 @@ function subnum() { #选项
;;
4)
#rabbitmq
result=$(setup_rabbitmq)
if [ "$result" = "1" ]; then
#提示安装失败
read -p "安装rabbitmq请先安装docker!"
fi
setup_rabbitmq
;;
5)
#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