Commit 6cdfc50c authored by Savorboard's avatar Savorboard

refactoring

parent 3f7d9e12
...@@ -19,6 +19,10 @@ namespace DotNetCore.CAP ...@@ -19,6 +19,10 @@ namespace DotNetCore.CAP
private readonly ILogger<DefaultBootstrapper> _logger; private readonly ILogger<DefaultBootstrapper> _logger;
private Task _bootstrappingTask; private Task _bootstrappingTask;
private IStorage Storage { get; }
private IEnumerable<IProcessingServer> Processors { get; }
public DefaultBootstrapper( public DefaultBootstrapper(
ILogger<DefaultBootstrapper> logger, ILogger<DefaultBootstrapper> logger,
IStorage storage, IStorage storage,
...@@ -45,10 +49,6 @@ namespace DotNetCore.CAP ...@@ -45,10 +49,6 @@ namespace DotNetCore.CAP
}); });
} }
protected IStorage Storage { get; }
protected IEnumerable<IProcessingServer> Processors { get; }
public Task BootstrapAsync() public Task BootstrapAsync()
{ {
return _bootstrappingTask = BootstrapTaskAsync(); return _bootstrappingTask = BootstrapTaskAsync();
...@@ -60,10 +60,22 @@ namespace DotNetCore.CAP ...@@ -60,10 +60,22 @@ namespace DotNetCore.CAP
if (_cts.IsCancellationRequested) return; if (_cts.IsCancellationRequested) return;
await BootstrapCoreAsync(); _appLifetime.ApplicationStopping.Register(() =>
{
foreach (var item in Processors)
item.Dispose();
});
if (_cts.IsCancellationRequested) return; if (_cts.IsCancellationRequested) return;
await BootstrapCoreAsync();
_ctsRegistration.Dispose();
_cts.Dispose();
}
protected virtual Task BootstrapCoreAsync()
{
foreach (var item in Processors) foreach (var item in Processors)
try try
{ {
...@@ -71,20 +83,8 @@ namespace DotNetCore.CAP ...@@ -71,20 +83,8 @@ namespace DotNetCore.CAP
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.ServerStartedError(ex); _logger.ProcessorsStartedError(ex);
} }
_ctsRegistration.Dispose();
_cts.Dispose();
}
public virtual Task BootstrapCoreAsync()
{
_appLifetime.ApplicationStopping.Register(() =>
{
foreach (var item in Processors)
item.Dispose();
});
return Task.CompletedTask; return Task.CompletedTask;
} }
} }
......
...@@ -6,7 +6,7 @@ namespace DotNetCore.CAP ...@@ -6,7 +6,7 @@ namespace DotNetCore.CAP
internal static class LoggerExtensions internal static class LoggerExtensions
{ {
private static readonly Action<ILogger, int, int, Exception> _serverStarting; private static readonly Action<ILogger, int, int, Exception> _serverStarting;
private static readonly Action<ILogger, Exception> _serverStartingError; private static readonly Action<ILogger, Exception> _processorsStartingError;
private static readonly Action<ILogger, Exception> _serverShuttingDown; private static readonly Action<ILogger, Exception> _serverShuttingDown;
private static readonly Action<ILogger, string, Exception> _expectedOperationCanceledException; private static readonly Action<ILogger, string, Exception> _expectedOperationCanceledException;
...@@ -31,10 +31,10 @@ namespace DotNetCore.CAP ...@@ -31,10 +31,10 @@ namespace DotNetCore.CAP
1, 1,
"Starting the processing server. Detected {MachineProcessorCount} machine processor(s). Initiating {ProcessorCount} job processor(s)."); "Starting the processing server. Detected {MachineProcessorCount} machine processor(s). Initiating {ProcessorCount} job processor(s).");
_serverStartingError = LoggerMessage.Define( _processorsStartingError = LoggerMessage.Define(
LogLevel.Error, LogLevel.Error,
5, 5,
"Starting the processing server throw an exception."); "Starting the processors throw an exception.");
_serverShuttingDown = LoggerMessage.Define( _serverShuttingDown = LoggerMessage.Define(
LogLevel.Debug, LogLevel.Debug,
...@@ -149,9 +149,9 @@ namespace DotNetCore.CAP ...@@ -149,9 +149,9 @@ namespace DotNetCore.CAP
_serverStarting(logger, machineProcessorCount, processorCount, null); _serverStarting(logger, machineProcessorCount, processorCount, null);
} }
public static void ServerStartedError(this ILogger logger, Exception ex) public static void ProcessorsStartedError(this ILogger logger, Exception ex)
{ {
_serverStartingError(logger, ex); _processorsStartingError(logger, ex);
} }
public static void ServerShuttingDown(this ILogger logger) public static void ServerShuttingDown(this ILogger logger)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment