Install .NET via the following script:
I advise to first do a dry run and to enable verbose mode to review if envvar DOTNET_INSTALL_DIR is set correctly:
| // | |
| // 1. Register the type in the host builder: | |
| // | |
| // builder.Services.AddSingleton<LoggerScopeBehavior>(); | |
| // | |
| // 2. Register the behavior in NServiceBus: | |
| // | |
| // endpointConfiguration.Pipeline.Register<LoggerScopeBehavior>(b => b.GetRequiredService<LoggerScopeBehavior>(), nameof(LoggerScopeBehavior)); | |
| // | |
| // DOES NOT USE THE NSERVICEBUS LOGGING ABSTRACTION AS THIS DOES NOT SUPPORT `.BeginScope` |
Install .NET via the following script:
I advise to first do a dry run and to enable verbose mode to review if envvar DOTNET_INSTALL_DIR is set correctly:
| // | |
| // Register as: | |
| // | |
| // endpointConfiguration.Pipeline.Register(new LogIncomingMessageDetails(), nameof(LogIncomingMessageDetails)); | |
| // | |
| sealed class LogIncomingMessageDetails : Behavior<IIncomingPhysicalMessageContext> | |
| { | |
| static readonly ILog logger = LogManager.GetLogger<LogIncomingMessageDetails>(); | |
| public override async Task Invoke(IIncomingPhysicalMessageContext context, Func<Task> next) |
| using System; | |
| using System.Numerics; | |
| class FriendlyNames | |
| { | |
| static readonly string[] Adj = | |
| [ | |
| "brave","silent","curious","mighty","witty","gloomy","rapid","fuzzy", | |
| "gentle","arcane","rusty","lunar","zen","feral","candid","sleek", | |
| "fiery","icy","stormy","cosmic","sinister","savage","naughty","vicious", |
| using Raven.Client.Documents; | |
| using Raven.Client.Documents.Operations; | |
| string FailingEndpointName = args.Length >= 1 | |
| ? args[0] | |
| : throw new ArgumentException("Missing endpoint name"); | |
| int ChunkSize = args.Length >= 2 ? int.Parse(args[1]) : 10000; | |
| sealed class WatchdogBehavior : Behavior<IIncomingLogicalMessageContext>, IDisposable | |
| { | |
| static readonly TimeSpan watchdogTimeout = TimeSpan.FromMinutes(5); | |
| static volatile long lastActivityTicks = DateTime.UtcNow.Ticks; | |
| static Thread? watchdogThread; | |
| static CancellationTokenSource? cancellationTokenSource; | |
| public WatchdogBehavior() | |
| { | |
| StartWatchdog(); |
| using System; | |
| using System.IO; | |
| using System.Threading; | |
| using System.Threading.Tasks; | |
| using NServiceBus.Pipeline; | |
| sealed class HeartbeatTouchBehavior : Behavior<IIncomingLogicalMessageContext> | |
| { | |
| static readonly string filePath = "C:/watchdog/heartbeat.txt"; | |
| static readonly TimeSpan interval = TimeSpan.FromMinutes(1); |
| using System; | |
| using System.ComponentModel; | |
| using System.Threading; | |
| using System.Threading.Tasks; | |
| using Microsoft.Extensions.DependencyInjection; | |
| using Microsoft.Extensions.Logging; | |
| using NServiceBus; | |
| using NServiceBus.Pipeline; | |
| [Description("Create a logger scope for every incoming message with incoming message processing attemps meta data so this is logged with every log statement")] |
Queues used by the various Particular Platform instances
| Queue | Error | Audit | Monitoring |
|---|---|---|---|
| audit | CR | ||
| error | CR | ||
| particular.monitoring | CR | ||
| particular.servicecontrol | CR | W | |
| particular.servicecontrol.errors | CW |
Create
sudo btrfs subvolume snapshot / /.snapshots/$(date +%F_%T)
Delete
sudo btrfs subvolume delete /.snapshots/2024-05-19_14:22:31
List
sudo btrfs subvolume list /