From 96adc295cb04fd135d63d3a907f2732274f90965 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期二, 21 四月 2026 01:11:21 +0800
Subject: [PATCH] feat: 添加MES异步上传辅助服务并重构相关代码

---
 Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/SchedulerCenterServer.cs |   27 +++++++++++++--------------
 1 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/SchedulerCenterServer.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/SchedulerCenterServer.cs
index 3b8288c..6be42fe 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/SchedulerCenterServer.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/SchedulerCenterServer.cs
@@ -31,6 +31,7 @@
 using WIDESEAWCS_QuartzJob.DTO;
 using WIDESEAWCS_QuartzJob.CustomException;
 using Quartz.Impl.Matchers;
+using WIDESEAWCS_Core.LogHelper;
 
 namespace WIDESEAWCS_QuartzJob
 {
@@ -49,9 +50,10 @@
         public SchedulerCenterServer(IJobFactory jobFactory)
         {
             _iocjobFactory = jobFactory;
-            _scheduler = GetSchedulerAsync();
+            // 浣跨敤鍚屾涓婁笅鏂囪繍琛屽紓姝ユ柟娉�
+            _scheduler = Task.Run(async () => await GetSchedulerAsync()).GetAwaiter().GetResult();
         }
-        private IScheduler GetSchedulerAsync()
+        private async Task<IScheduler> GetSchedulerAsync()
         {
             if (_scheduler != null)
                 return this._scheduler;
@@ -66,7 +68,7 @@
                     };
                     //StdSchedulerFactory factory = new StdSchedulerFactory(collection);
                     StdSchedulerFactory factory = new StdSchedulerFactory();
-                    return _scheduler = factory.GetScheduler().Result;
+                    return _scheduler = await factory.GetScheduler();
                 }
                 catch (Exception ex)
                 {
@@ -84,7 +86,7 @@
             WebResponseContent result = new WebResponseContent();
             try
             {
-                if (_scheduler.IsShutdown && _scheduler.IsStarted)
+                if (_scheduler.IsShutdown || !_scheduler.IsStarted)
                 {
                     // 浠嶧actory涓幏鍙朣cheduler瀹炰緥
                     NameValueCollection collection = new NameValueCollection
@@ -93,7 +95,7 @@
                     };
                     //StdSchedulerFactory factory = new StdSchedulerFactory(collection);
                     StdSchedulerFactory factory = new StdSchedulerFactory();
-                    _scheduler = factory.GetScheduler().Result;
+                    _scheduler = await factory.GetScheduler();
                 }
 
                 this._scheduler.JobFactory = this._iocjobFactory;
@@ -102,13 +104,13 @@
                 {
                     //绛夊緟浠诲姟杩愯瀹屾垚
                     await this._scheduler.Start();
-                    await Console.Out.WriteLineAsync(QuartzJobInfoMessage.StartJobSuccess);
+                    QuartzLogger.Info(QuartzJobInfoMessage.StartJobSuccess);
                     result = WebResponseContent.Instance.OK(QuartzJobInfoMessage.StartJobSuccess);
                     return result;
                 }
                 else
                 {
-                    await _scheduler.Shutdown();
+                    // 璋冨害鍣ㄥ凡鍦ㄨ繍琛岋紝鐩存帴杩斿洖鎻愮ず
                     result = WebResponseContent.Instance.Error(QuartzJobInfoMessage.JobHasStart);
                     return result;
                 }
@@ -133,16 +135,13 @@
                     //绛夊緟浠诲姟杩愯瀹屾垚
                     await _scheduler.Shutdown(false);
 
-                    await Console.Out.WriteLineAsync(QuartzJobInfoMessage.StopJobSuccess);
+                    QuartzLogger.Info(QuartzJobInfoMessage.StopJobSuccess);
                     result = WebResponseContent.Instance.OK(QuartzJobInfoMessage.StopJobSuccess);
                     return result;
                 }
                 else
                 {
-                    IReadOnlyCollection<string> jobGroupNames = await _scheduler.GetJobGroupNames();
-
-                    await _scheduler.PauseAll();
-
+                    // 璋冨害鍣ㄥ凡鍋滄锛岀洿鎺ヨ繑鍥炴彁绀猴紙涓嶅啀瀵瑰凡 shutdown 鐨� scheduler 璋冪敤 PauseAll锛�
                     result = WebResponseContent.Instance.Error(QuartzJobInfoMessage.JobHasStop);
                     return result;
                 }
@@ -167,7 +166,7 @@
             {
                 try
                 {
-                    if (_scheduler.IsShutdown && _scheduler.IsStarted)
+                    if (_scheduler.IsShutdown || !_scheduler.IsStarted)
                     {
                         // 浠嶧actory涓幏鍙朣cheduler瀹炰緥
                         NameValueCollection collection = new NameValueCollection
@@ -176,7 +175,7 @@
                         };
                         //StdSchedulerFactory factory = new StdSchedulerFactory(collection);
                         StdSchedulerFactory factory = new StdSchedulerFactory();
-                        _scheduler = factory.GetScheduler().Result;
+                        _scheduler = await factory.GetScheduler();
                     }
 
 

--
Gitblit v1.9.3