|
|
|
@ -1,4 +1,5 @@ |
|
|
|
using Microsoft.Extensions.Configuration; |
|
|
|
using Hangfire; |
|
|
|
using Microsoft.Extensions.Configuration; |
|
|
|
using Microsoft.Extensions.Logging; |
|
|
|
using Shentun.Utilities; |
|
|
|
using System; |
|
|
|
@ -12,7 +13,7 @@ namespace Shentun.Peis.Schedulers |
|
|
|
{ |
|
|
|
public interface IImportLisResultInterfaceWorker |
|
|
|
{ |
|
|
|
Task DoWork(Guid interfaceId); |
|
|
|
public void DoWork(Guid interfaceId); |
|
|
|
public void DoWork(); |
|
|
|
} |
|
|
|
public class ImportLisResultInterfaceWorker : HangfireBackgroundWorkerBase, IImportLisResultInterfaceWorker |
|
|
|
@ -21,10 +22,13 @@ namespace Shentun.Peis.Schedulers |
|
|
|
private static long i; |
|
|
|
private static bool _isRunning = false; |
|
|
|
private static readonly object lockObject = new object(); |
|
|
|
public async Task DoWork(Guid interfaceId) |
|
|
|
|
|
|
|
[DisableConcurrentExecution(timeoutInSeconds: 10 * 60)] |
|
|
|
public void DoWork(Guid interfaceId) |
|
|
|
{ |
|
|
|
if (_isRunning) return; |
|
|
|
|
|
|
|
lock (lockObject) |
|
|
|
{ |
|
|
|
_isRunning = true; |
|
|
|
try |
|
|
|
{ |
|
|
|
@ -57,7 +61,7 @@ namespace Shentun.Peis.Schedulers |
|
|
|
var className = interfaceConfig.GetSection("Interface").GetSection("ClassName").Value; |
|
|
|
var funName = "DoWork"; |
|
|
|
//object[] objects = new object[] { chargeRequestPlugInsInput };
|
|
|
|
await ReflectionHelper.InvokeAsync(assemblyName, className, parmValue, funName); |
|
|
|
ReflectionHelper.Invoke(assemblyName, className, parmValue, funName); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -68,7 +72,7 @@ namespace Shentun.Peis.Schedulers |
|
|
|
} |
|
|
|
_isRunning = false; |
|
|
|
return; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void DoWork() |
|
|
|
|