Эх сурвалжийг харах

!1959 update Admin.NET/Admin.NET.Core/Service/Job/SysJobService.cs.
Merge pull request !1959 from 高级CV工程师/N/A

zuohuaijun 2 сар өмнө
parent
commit
e3e3b244ef

+ 9 - 3
Admin.NET/Admin.NET.Core/Service/Job/SysJobService.cs

@@ -385,8 +385,14 @@ public class SysJobService : IDynamicApiController, ITransient
     public async Task ClearExpireJobTriggerRecord(SysJobTriggerRecord input)
     {
         int keepRecords = 30;//保留记录条数
-        await _sysJobTriggerRecordRep.AsDeleteable().In(it => it.Id,
-         _sysJobTriggerRecordRep.AsQueryable().Skip(keepRecords).OrderByDescending(it => it.LastRunTime)
-         .Where(u => u.JobId == input.JobId && u.TriggerId == input.TriggerId).Select(it => it.Id)).ExecuteCommandAsync();//注意Select不要ToList(), ToList就2次查询了
+        // 使用CopyNew()创建新的数据库连接实例,避免连接冲突
+        var db = _sysJobTriggerRecordRep.AsSugarClient().CopyNew();
+        await db.Deleteable<SysJobTriggerRecord>().In(it => it.Id,
+            db.Queryable<SysJobTriggerRecord>()
+                .Skip(keepRecords)
+                .OrderByDescending(it => it.LastRunTime)
+                .Where(u => u.JobId == input.JobId && u.TriggerId == input.TriggerId)
+                .Select(it => it.Id) //注意Select不要ToList(), ToList就2次查询了
+        ).ExecuteCommandAsync();
     }
 }