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.Tasks;
using Orleans.Runtime;
using Squidex.Infrastructure.Log;
namespace Squidex.Infrastructure.Orleans
{
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)
{
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 Microsoft.Extensions.Hosting;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Log;
using Squidex.Infrastructure.Migrations;
namespace Squidex.Config.Domain
@ -19,10 +20,13 @@ namespace Squidex.Config.Domain
public sealed class InitializeHostedService : IHostedService
{
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.log = log;
}
public async Task StartAsync(CancellationToken cancellationToken)
@ -30,6 +34,8 @@ namespace Squidex.Config.Domain
foreach (var target in targets)
{
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)
{
if (!lazySilo.IsValueCreated)
if (lazySilo.IsValueCreated)
{
isStopping = true;

Loading…
Cancel
Save