Browse Source

Fixed shutdown.

pull/329/head
Sebastian Stehle 7 years ago
parent
commit
e3c07fb9b8
  1. 18
      src/Squidex.Infrastructure/Orleans/InitializerStartup.cs
  2. 8
      src/Squidex/Config/Domain/SystemExtensions.cs
  3. 2
      src/Squidex/Config/Orleans/SiloWrapper.cs

18
src/Squidex.Infrastructure/Orleans/InitializerStartup.cs

@ -9,25 +9,31 @@ using System.Collections.Generic;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Orleans.Runtime; using Orleans.Runtime;
using Squidex.Infrastructure.Log;
namespace Squidex.Infrastructure.Orleans namespace Squidex.Infrastructure.Orleans
{ {
public sealed class InitializerStartup : IStartupTask public sealed class InitializerStartup : IStartupTask
{ {
private readonly IEnumerable<IInitializable> initializables; private readonly IEnumerable<IInitializable> targets;
private readonly ISemanticLog log;
public InitializerStartup(IEnumerable<IInitializable> initializables) public InitializerStartup(IEnumerable<IInitializable> targets, ISemanticLog log)
{ {
Guard.NotNull(initializables, nameof(initializables)); Guard.NotNull(targets, nameof(targets));
this.initializables = initializables; this.targets = targets;
this.log = log;
} }
public async Task Execute(CancellationToken cancellationToken) public async Task Execute(CancellationToken cancellationToken)
{ {
foreach (var initializable in initializables) foreach (var target in targets)
{ {
await initializable.InitializeAsync(cancellationToken); await target.InitializeAsync(cancellationToken);
log?.LogInformation(w => w.WriteProperty("siloInitializedSystem", target.GetType().Name));
} }
} }
} }

8
src/Squidex/Config/Domain/SystemExtensions.cs

@ -10,6 +10,7 @@ using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using Squidex.Infrastructure; using Squidex.Infrastructure;
using Squidex.Infrastructure.Log;
using Squidex.Infrastructure.Migrations; using Squidex.Infrastructure.Migrations;
namespace Squidex.Config.Domain namespace Squidex.Config.Domain
@ -19,10 +20,13 @@ namespace Squidex.Config.Domain
public sealed class InitializeHostedService : IHostedService public sealed class InitializeHostedService : IHostedService
{ {
private readonly IEnumerable<IInitializable> targets; private readonly IEnumerable<IInitializable> targets;
private readonly ISemanticLog log;
public InitializeHostedService(IEnumerable<IInitializable> targets) public InitializeHostedService(IEnumerable<IInitializable> targets, ISemanticLog log)
{ {
this.targets = targets; this.targets = targets;
this.log = log;
} }
public async Task StartAsync(CancellationToken cancellationToken) public async Task StartAsync(CancellationToken cancellationToken)
@ -30,6 +34,8 @@ namespace Squidex.Config.Domain
foreach (var target in targets) foreach (var target in targets)
{ {
await target.InitializeAsync(cancellationToken); await target.InitializeAsync(cancellationToken);
log.LogInformation(w => w.WriteProperty("initializedSystem", target.GetType().Name));
} }
} }

2
src/Squidex/Config/Orleans/SiloWrapper.cs

@ -170,7 +170,7 @@ namespace Squidex.Config.Orleans
public async Task StopAsync(CancellationToken cancellationToken) public async Task StopAsync(CancellationToken cancellationToken)
{ {
if (!lazySilo.IsValueCreated) if (lazySilo.IsValueCreated)
{ {
isStopping = true; isStopping = true;

Loading…
Cancel
Save