From 592ebfbe0857a71fe19747fa8ab70927300e81b0 Mon Sep 17 00:00:00 2001 From: haoliang <821644@qq.com> Date: Sun, 3 May 2026 03:10:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=87=87=E9=9B=86=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=90=AF=E5=8A=A8=E5=90=8E=E4=BB=AA=E8=A1=A8=E7=9B=98?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=8D=E5=88=B7=E6=96=B0=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因:CollectorEngine.Start()不立即写心跳,仪表盘读心跳表仍显示stopped 修复:Start()中_isRunning=true后立即WriteHeartbeat('running') 附带:ForwardToCollector连接失败时返回错误码(code=50001)而非成功 --- src/CncCollector/Core/CollectorEngine.cs | 3 +++ src/CncWebApi/Controllers/DashboardController.cs | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/CncCollector/Core/CollectorEngine.cs b/src/CncCollector/Core/CollectorEngine.cs index 3cfb5cb..282be33 100644 --- a/src/CncCollector/Core/CollectorEngine.cs +++ b/src/CncCollector/Core/CollectorEngine.cs @@ -65,6 +65,9 @@ namespace CncCollector.Core _startTime = DateTime.Now; _isRunning = true; + // 0. 立即写入running心跳(避免启动后仪表盘读不到running状态) + WriteHeartbeat("running"); + // 1. 加载并启动采集地址 LoadAndStartWorkers(); diff --git a/src/CncWebApi/Controllers/DashboardController.cs b/src/CncWebApi/Controllers/DashboardController.cs index ad784f1..6e867f5 100644 --- a/src/CncWebApi/Controllers/DashboardController.cs +++ b/src/CncWebApi/Controllers/DashboardController.cs @@ -173,7 +173,8 @@ namespace CncWebApi.Controllers } catch (Exception ex) { - return Ok(ApiResponse.Success(new { forwarded = false, error = ex.Message })); + // 采集服务不可达时返回失败,避免前端误认为操作成功 + return Ok(ApiResponse.Fail(50001, $"采集服务连接失败: {ex.Message}")); } } }