From 42c5b8149b8b241dc89189f2d81ee74b7fd6e5da Mon Sep 17 00:00:00 2001 From: mzhifa Date: Fri, 31 May 2024 14:58:30 +0800 Subject: [PATCH] =?UTF-8?q?1=20=E5=A2=9E=E5=8A=A0=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=EF=BC=9B=202=20=E5=A2=9E=E5=8A=A0=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E6=A8=A1=E6=9D=BF=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Txgy.RBS.DTO/ProjectUsedDTO.cs | 2 +- Txgy.RBS.Server.WebApi/rbs_server_db.db | Bin 753664 -> 753664 bytes Txgy.RBS.Services/ProcessManagerService.cs | 25 ++++++++++----------- Txgy.RBS.Services/ProjectInfoService.cs | 10 +++++++++ 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/Txgy.RBS.DTO/ProjectUsedDTO.cs b/Txgy.RBS.DTO/ProjectUsedDTO.cs index b53f042..ea7772c 100644 --- a/Txgy.RBS.DTO/ProjectUsedDTO.cs +++ b/Txgy.RBS.DTO/ProjectUsedDTO.cs @@ -16,7 +16,7 @@ namespace Txgy.RBS.DTO } public int id { get; set; } - + public string project_name { set; get; } public int current_project_id { get; set; } diff --git a/Txgy.RBS.Server.WebApi/rbs_server_db.db b/Txgy.RBS.Server.WebApi/rbs_server_db.db index 21963211c811f20c42cf2123d0d2fe1ec5bb0aea..51591bac79f4b83d2c000dacac997144897eceb2 100644 GIT binary patch delta 127 zcmZo@&}(SWn;^}&f1->tq~YfS41A MxwhZQ=T;E_0AVaIWdHyG diff --git a/Txgy.RBS.Services/ProcessManagerService.cs b/Txgy.RBS.Services/ProcessManagerService.cs index 50f102e..8fe2abd 100644 --- a/Txgy.RBS.Services/ProcessManagerService.cs +++ b/Txgy.RBS.Services/ProcessManagerService.cs @@ -29,6 +29,7 @@ namespace Txgy.RBS.Services _cache = cache; RedisServer = new ProcessInfo() { + ProPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, CommonData.RedisDefaultPath), ProName = "server", StartTime = DateTime.Now, State = true @@ -40,13 +41,16 @@ namespace Txgy.RBS.Services { foreach (var item in ProjectMonitor) { - _redisList.Publish(CommonData.RedisPublish, Newtonsoft.Json.JsonConvert.SerializeObject(new + int sfServer = FindProcess(RedisServer); + RedisServer.State = sfServer == 0 ? true : false; + var messageRerver = new { projectName = item.Key, ProName = RedisServer.ProName, - RunState = RedisServer.State?1:0, + RunState = RedisServer.State ? 1 :2, RunTime = (DateTime.Now - RedisServer.StartTime).TotalSeconds, - })); + }; + _redisList.Publish(CommonData.RedisPublish, Newtonsoft.Json.JsonConvert.SerializeObject(messageRerver)); foreach (var proValue in item.Value.GetType().GetProperties()) { var pro = proValue.GetValue(item.Value) as ProcessInfo; @@ -68,7 +72,8 @@ namespace Txgy.RBS.Services { projectName=item.Key, ProName = pro.ProName, - RunState = sfp == 0 ? 1 : 0, + //0已停止,1正常启动,2启动失败; + RunState = sfp == 0 ? 1 : 2, RunTime = (DateTime.Now - pro.StartTime).TotalSeconds, })); } @@ -104,8 +109,9 @@ namespace Txgy.RBS.Services { projectName = projectName, ProName = pro.ProName, + //0已停止,1正常启动,2启动失败; RunState = 0, - RunTime = (DateTime.Now - pro.StartTime).TotalSeconds, + RunTime = 0, })); } } @@ -336,14 +342,7 @@ namespace Txgy.RBS.Services else { List pro = null; - if (processInfo.ProName == "server") - { - pro = localByName.Where(p => p.MainModule.FileName.Contains(processInfo.ProName)).ToList(); - } - else - { - pro = localByName.Where(p => p.MainModule.FileName.Contains(processInfo.ProPath)).ToList(); - } + pro = localByName.Where(p => p.MainModule.FileName.Contains(processInfo.ProPath)).ToList(); if (!pro.Any()) { ri = 1; diff --git a/Txgy.RBS.Services/ProjectInfoService.cs b/Txgy.RBS.Services/ProjectInfoService.cs index 8874657..bc28742 100644 --- a/Txgy.RBS.Services/ProjectInfoService.cs +++ b/Txgy.RBS.Services/ProjectInfoService.cs @@ -75,12 +75,22 @@ namespace Txgy.RBS.Services { var curProject = _Client.Queryable().Where(c=>c.client_id== clientName).First(); var projectUse=_iMapper.Map(curProject); + if (projectUse != null) + { + var pro = _Client.Queryable().Where(p => p.project_id == curProject.current_project_id).First(); + projectUse.project_name = pro.project_name; + } return projectUse; } public ProjectUsedDTO GetCurrentProjectUsed(int projectId) { var curProject = _Client.Queryable().Where(c => c.current_project_id == projectId).First(); var projectUse = _iMapper.Map(curProject); + if (projectUse != null) + { + var pro = _Client.Queryable().Where(p => p.project_id == curProject.current_project_id).First(); + projectUse.project_name = pro.project_name; + } return projectUse; } public ApiResult UpdateProjectInfo(ProjectInfoDTO project)