Browse Source

Small improvements.

pull/169/head
Sebastian Stehle 9 years ago
parent
commit
b2b58131da
  1. 38
      src/Squidex.Infrastructure/Log/Internal/ConsoleLogProcessor.cs
  2. 1
      src/Squidex.Infrastructure/Squidex.Infrastructure.csproj
  3. 2
      src/Squidex/Config/Orleans/SiloExtensions.cs
  4. 4
      src/Squidex/Config/Orleans/SiloServices.cs
  5. 2
      src/Squidex/Program.cs

38
src/Squidex.Infrastructure/Log/Internal/ConsoleLogProcessor.cs

@ -14,7 +14,7 @@ using System.Threading.Tasks;
namespace Squidex.Infrastructure.Log.Internal
{
public class ConsoleLogProcessor : DisposableObjectBase
public sealed class ConsoleLogProcessor : DisposableObjectBase
{
private const int MaxQueuedMessages = 1024;
private readonly IConsole console;
@ -37,32 +37,40 @@ namespace Squidex.Infrastructure.Log.Internal
public void EnqueueMessage(LogMessageEntry message)
{
try
if (!messageQueue.IsAddingCompleted)
{
if (!IsDisposed)
try
{
messageQueue.Add(message);
return;
}
catch (Exception ex)
{
Debug.WriteLine($"Failed to enqueue log message: {ex}.");
}
}
catch (ObjectDisposedException)
{
Debug.WriteLine("Console queue disposed.");
}
WriteMessage(message);
}
private static void ProcessLogQueue(object state)
{
var processor = (ConsoleLogProcessor)state;
processor.ProcessLogQueue();
}
private void ProcessLogQueue()
{
foreach (var entry in messageQueue.GetConsumingEnumerable())
{
console.WriteLine(entry.Color, entry.Message);
WriteMessage(entry);
}
}
private static void ProcessLogQueue(object state)
private void WriteMessage(LogMessageEntry entry)
{
var processor = (ConsoleLogProcessor)state;
processor.ProcessLogQueue();
console.WriteLine(entry.Color, entry.Message);
}
protected override void DisposeObject(bool disposing)
@ -70,7 +78,6 @@ namespace Squidex.Infrastructure.Log.Internal
if (disposing)
{
messageQueue.CompleteAdding();
messageQueue.Dispose();
try
{
@ -78,10 +85,7 @@ namespace Squidex.Infrastructure.Log.Internal
}
catch (Exception ex)
{
if (!ex.Is<OperationCanceledException>())
{
throw;
}
Debug.WriteLine($"Failed to shutdown log queue grateful: {ex}.");
}
}
}

1
src/Squidex.Infrastructure/Squidex.Infrastructure.csproj

@ -10,6 +10,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.0" />
<PackageReference Include="Microsoft.Orleans.Core" Version="2.0.0-beta1" />
<PackageReference Include="Microsoft.Orleans.OrleansCodeGenerator.Build" Version="2.0.0-beta1-fix" />
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />

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

@ -35,7 +35,7 @@ namespace Squidex.Config.Orleans
public static ClusterConfiguration WithDashboard(this ClusterConfiguration config)
{
config.RegisterDashboard();
// config.RegisterDashboard();
return config;
}

4
src/Squidex/Config/Orleans/SiloServices.cs

@ -30,8 +30,8 @@ namespace Squidex.Config.Orleans
if (clusterConfiguration != null)
{
clusterConfiguration.Globals.RegisterBootstrapProvider<EventConsumerBootstrap>("EventConsumers");
clusterConfiguration.Globals.RegisterBootstrapProvider<RuleDequeuerBootstrap>("RuleDequeuer");
// clusterConfiguration.Globals.RegisterBootstrapProvider<EventConsumerBootstrap>("EventConsumers");
// clusterConfiguration.Globals.RegisterBootstrapProvider<RuleDequeuerBootstrap>("RuleDequeuer");
var ipConfig = config.GetRequiredValue("orleans:hostNameOrIPAddress");

2
src/Squidex/Program.cs

@ -28,7 +28,7 @@ namespace Squidex
.AddApplicationPartsFromReferences(typeof(AppStateGrain).Assembly)
.AddApplicationPartsFromReferences(typeof(EventConsumerGrain).Assembly)
.AddApplicationPartsFromReferences(typeof(XmlRepositoryGrain).Assembly)
.UseDashboard(options => { options.HostSelf = false; })
// .UseDashboard(options => { options.HostSelf = false; })
.UseContentRoot(Directory.GetCurrentDirectory())
.UseConfiguration(
ClusterConfiguration.LocalhostPrimarySilo(33333)

Loading…
Cancel
Save