From 5878b434284ff7dd802e1ac976c5fde5cb4aceb5 Mon Sep 17 00:00:00 2001 From: "DESKTOP-G961P6V\\Zhh" <839860190@qq.com> Date: Sun, 5 May 2024 12:57:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ChargeRequestPlugInsBase.cs | 5 +-- .../PlugInsBase.cs | 9 +++++ .../PeisHttpApiHostModule.cs | 4 +-- .../ChargeRequestInterfaceQueryWorker.cs | 35 +++++++++++++++---- 4 files changed, 41 insertions(+), 12 deletions(-) diff --git a/src/Shentun.ColumnReferencePlugIns/ChargeRequestPlugInsBase.cs b/src/Shentun.ColumnReferencePlugIns/ChargeRequestPlugInsBase.cs index bdd6b04..560d46b 100644 --- a/src/Shentun.ColumnReferencePlugIns/ChargeRequestPlugInsBase.cs +++ b/src/Shentun.ColumnReferencePlugIns/ChargeRequestPlugInsBase.cs @@ -146,10 +146,7 @@ where patient.id = patient_register.patient_id and } } - public virtual async Task DoWorkAsync() - { - - } + } public class ChargeRequestPlugInsInput diff --git a/src/Shentun.ColumnReferencePlugIns/PlugInsBase.cs b/src/Shentun.ColumnReferencePlugIns/PlugInsBase.cs index 70648dc..e9a8958 100644 --- a/src/Shentun.ColumnReferencePlugIns/PlugInsBase.cs +++ b/src/Shentun.ColumnReferencePlugIns/PlugInsBase.cs @@ -110,6 +110,15 @@ namespace Shentun.Peis.PlugIns } } + public virtual async Task DoWorkAsync() + { + + } + + public virtual Task DoWork() + { + return Task.CompletedTask; + } public async Task LoginAsync(string userId,string password) { diff --git a/src/Shentun.Peis.HttpApi.Host/PeisHttpApiHostModule.cs b/src/Shentun.Peis.HttpApi.Host/PeisHttpApiHostModule.cs index 8825a4a..98599ae 100644 --- a/src/Shentun.Peis.HttpApi.Host/PeisHttpApiHostModule.cs +++ b/src/Shentun.Peis.HttpApi.Host/PeisHttpApiHostModule.cs @@ -559,7 +559,7 @@ public class PeisHttpApiHostModule : AbpModule app.UseConfiguredEndpoints(); //任务计划 - await StartScheduler(context); + //await StartScheduler(context); } private async Task StartScheduler(ApplicationInitializationContext context) @@ -598,7 +598,7 @@ public class PeisHttpApiHostModule : AbpModule { if(thirdInterfaceDto.ThirdInterfaceType == "02") { - RecurringJob.AddOrUpdate("收费接口", o => o.DoWorkAsync(thirdInterfaceDto.Id), corn, TimeZoneInfo.Local); + RecurringJob.AddOrUpdate("收费接口", o => o.DoWork(), corn, TimeZoneInfo.Local); } } } diff --git a/src/Shentun.Peis.HttpApi.Host/Schedulers/ChargeRequestInterfaceQueryWorker.cs b/src/Shentun.Peis.HttpApi.Host/Schedulers/ChargeRequestInterfaceQueryWorker.cs index 1d1f6d0..3bef515 100644 --- a/src/Shentun.Peis.HttpApi.Host/Schedulers/ChargeRequestInterfaceQueryWorker.cs +++ b/src/Shentun.Peis.HttpApi.Host/Schedulers/ChargeRequestInterfaceQueryWorker.cs @@ -18,6 +18,7 @@ namespace Shentun.Peis.Schedulers public interface IChargeRequestInterfaceQueryWorker { public void DoWorkAsync(Guid interfaceId); + public void DoWork(); } public class ChargeRequestInterfaceQueryWorker : HangfireBackgroundWorkerBase, IChargeRequestInterfaceQueryWorker { @@ -42,11 +43,12 @@ namespace Shentun.Peis.Schedulers public void DoWorkAsync(Guid interfaceId) { if (_isRunning) return; - //lock (lockObject) - //{ - _isRunning = true; + lock (lockObject) + { + _isRunning = true; try { + Logger.LogInformation("Executed ChargeRequestInterfaceQueryWorker..!"); var appServiceHelper = new AppServiceHelper(); appServiceHelper.Login(); var thirdInterFaceForHostOutDto = appServiceHelper.CallAppService("api/app/ThirdInterface/GetList", null); @@ -71,11 +73,11 @@ namespace Shentun.Peis.Schedulers } var assemblyName = interfaceConfig.GetSection("Interface").GetSection("AssemblyName").Value; var className = interfaceConfig.GetSection("Interface").GetSection("ClassName").Value; - var funName = "DoWorkAsync"; + var funName = "DoWork"; //object[] objects = new object[] { chargeRequestPlugInsInput }; ReflectionHelper.InvokeAsync(assemblyName, className, parmValue, funName); } - Logger.LogInformation("Executed ChargeRequestInterfaceQueryWorker..!"); + } catch (Exception ex) @@ -84,7 +86,28 @@ namespace Shentun.Peis.Schedulers } _isRunning = false; return ; - //} + } + } + + public void DoWork() + { + if (_isRunning) return; + lock (lockObject) + { + _isRunning = true; + try + { + + + } + catch (Exception ex) + { + Logger.LogError("Executed ChargeRequestInterfaceQueryWorker Error" + ex.Message); + } + _isRunning = false; + return; + } + } } }