Browse Source

Optimize

pull/4505/head
liangshiwei 6 years ago
parent
commit
acb69ec6df
  1. 21
      framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/QuartzBackgroundWorkerAdapter.cs

21
framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/QuartzBackgroundWorkerAdapter.cs

@ -10,9 +10,16 @@ namespace Volo.Abp.BackgroundWorkers.Quartz
IQuartzBackgroundWorkerAdapter IQuartzBackgroundWorkerAdapter
where TWorker : IBackgroundWorker where TWorker : IBackgroundWorker
{ {
private readonly MethodInfo _doWorkAsyncMethod;
private readonly MethodInfo _doWorkMethod;
public QuartzPeriodicBackgroundWorkerAdapter() public QuartzPeriodicBackgroundWorkerAdapter()
{ {
AutoRegister = false; AutoRegister = false;
_doWorkAsyncMethod = typeof(TWorker).GetMethod("DoWorkAsync", BindingFlags.Instance | BindingFlags.NonPublic);
_doWorkMethod = typeof(TWorker).GetMethod("DoWork", BindingFlags.Instance | BindingFlags.NonPublic);
} }
public void BuildWorker(IBackgroundWorker worker) public void BuildWorker(IBackgroundWorker worker)
@ -59,24 +66,18 @@ namespace Volo.Abp.BackgroundWorkers.Quartz
{ {
case AsyncPeriodicBackgroundWorkerBase asyncWorker: case AsyncPeriodicBackgroundWorkerBase asyncWorker:
{ {
var doWorkAsyncMethod = asyncWorker.GetType() if (_doWorkAsyncMethod != null)
.GetMethod("DoWorkAsync", BindingFlags.Instance | BindingFlags.NonPublic);
if (doWorkAsyncMethod != null)
{ {
await (Task) doWorkAsyncMethod.Invoke(asyncWorker, new object[] {workerContext}); await (Task) _doWorkAsyncMethod.Invoke(asyncWorker, new object[] {workerContext});
} }
break; break;
} }
case PeriodicBackgroundWorkerBase syncWorker: case PeriodicBackgroundWorkerBase syncWorker:
{ {
var doWorkMethod = syncWorker.GetType() if (_doWorkMethod != null)
.GetMethod("DoWork", BindingFlags.Instance | BindingFlags.NonPublic);
if (doWorkMethod != null)
{ {
doWorkMethod.Invoke(syncWorker, new object[] {workerContext}); _doWorkMethod.Invoke(syncWorker, new object[] {workerContext});
} }
break; break;

Loading…
Cancel
Save