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:
<# | |
.SYNOPSIS | |
Moves messages between queues. | |
.DESCRIPTION | |
Moves messages between queues, move isn't really the right word as moving can only occur | |
between a queue and its sub-queues but its the Verb allowed by Powershell. | |
Is allows moving messages between queues of different transaction type. |
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:
[ | |
{ | |
"event": "send", | |
"msg": { | |
"ts": 1365109999, | |
"subject": "This an example webhook message", | |
"email": "example.webhook@mandrillapp.com", | |
"sender": "example.sender@mandrillapp.com", | |
"tags": [ | |
"webhook-example" |
I had issue running the Yamaha USB driver installer part of um3141x64.zip
. Running the setup.exe
showed dialog with the message:
1152: Error extracting to the temporary location
I used Sysintermals Procmon to check what failed but that didn't reveal the problem. My current TEMP
folder points to the folder S:\.tmp
on a ReFS partition. After temporarily creating a c:\tmp
, set TEMP
and TMP
environment variables to that value the setup.exe
ran without any issues. That means the installer could:
- ./backups:/backups
pg_dump
. For example, the following docker container myapp_db_1
:docker exec myapp_db_1 bash -c "pg_dump --username=myuser --no-password --format=c mydatabase > /backups/1.dump"
pg_restore
on another (newer major) of postgres:docker exec myapp_db_2 bash -c "pg_restore --username=myuser --no-password --dbname=mydatabase --verbose /backups/1.dump"
static class StringExt | |
{ | |
public static string? Truncate(this string? value, int maxLength) | |
{ | |
if (value == null) return value; | |
return value.Length <= maxLength ? value : string.Concat(value.AsSpan(0, maxLength - 1), "…"); | |
} | |
} |
static class FileHelper | |
{ | |
public static bool FileInUse(string path) | |
{ | |
try | |
{ | |
using var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None); | |
return false; | |
} | |
catch (IOException) |
// Placeholder |
// <PackageReference Include="Microsoft.Data.SqlClient" Version="5.1.2" /> | |
// <PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> | |
using Microsoft.Data.SqlClient; | |
using Newtonsoft.Json; | |
using Newtonsoft.Json.Linq; | |
using System.Data; | |
internal class Program | |
{ |
class TimeoutBehavior : Behavior<IIncomingPhysicalMessageContext> | |
{ | |
static readonly ILog Log = LogManager.GetLogger<TimeoutBehavior>(); | |
static readonly TimeSpan TimeoutDuration = TimeSpan.FromSeconds(5); | |
static readonly TimeSpan CancellationThresholdDuration = TimeSpan.FromSeconds(5); | |
static readonly TimeSpan TerminationDetectionDuration = TimeoutDuration + CancellationThresholdDuration; | |
public override async Task Invoke(IIncomingPhysicalMessageContext context, Func<Task> next) | |
{ | |
using var timeoutCTS = new CancellationTokenSource(TimeoutDuration); |