From ff006f77f6267fc0d2c4ee810d897a85165f5b8f Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期四, 30 四月 2026 22:08:29 +0800
Subject: [PATCH] Merge branch 'xiaoyang' into dev

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

diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/SchedulerCenterServer.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/SchedulerCenterServer.cs
index 919b7e9..5c795e5 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/SchedulerCenterServer.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/QuartzNet/SchedulerCenterServer.cs
@@ -86,7 +86,7 @@
             WebResponseContent result = new WebResponseContent();
             try
             {
-                if (_scheduler.IsShutdown && _scheduler.IsStarted)
+                if (_scheduler.IsShutdown || !_scheduler.IsStarted)
                 {
                     // 浠嶧actory涓幏鍙朣cheduler瀹炰緥
                     NameValueCollection collection = new NameValueCollection
@@ -110,7 +110,7 @@
                 }
                 else
                 {
-                    await _scheduler.Shutdown();
+                    // 璋冨害鍣ㄥ凡鍦ㄨ繍琛岋紝鐩存帴杩斿洖鎻愮ず
                     result = WebResponseContent.Instance.Error(QuartzJobInfoMessage.JobHasStart);
                     return result;
                 }
@@ -135,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;
                 }
@@ -169,7 +166,7 @@
             {
                 try
                 {
-                    if (_scheduler.IsShutdown && _scheduler.IsStarted)
+                    if (_scheduler.IsShutdown || !_scheduler.IsStarted)
                     {
                         // 浠嶧actory涓幏鍙朣cheduler瀹炰緥
                         NameValueCollection collection = new NameValueCollection
@@ -462,11 +459,14 @@
         /// <returns></returns>
         private ITrigger CreateSimpleTrigger(DispatchInfoDTO sysSchedule)
         {
+            // Quartz瑕佹眰闂撮殧鑷冲皯1绉掞紝闃叉鏁版嵁搴撲腑IntervalSecond涓�0鎴栬礋鍊煎鑷碅rgumentOutOfRangeException
+            var intervalSeconds = sysSchedule.IntervalSecond <= 0 ? 1 : sysSchedule.IntervalSecond;
+
             ITrigger trigger = TriggerBuilder.Create()
             .WithIdentity(sysSchedule.Id.ToString(), sysSchedule.JobGroup)
             .StartAt(sysSchedule.BeginTime.GetValueOrDefault())
             .WithSimpleSchedule(x => x
-                .WithIntervalInSeconds(sysSchedule.IntervalSecond)
+                .WithIntervalInSeconds(intervalSeconds)
                 .RepeatForever()
             )
             .EndAt(sysSchedule.EndTime.GetValueOrDefault())

--
Gitblit v1.9.3