Skip to content

Commit

Permalink
fix: keep trying to acquire lock in cache invalidator
Browse files Browse the repository at this point in the history
  • Loading branch information
jvandaal committed Sep 30, 2024
1 parent 2b72da2 commit fc06268
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 10 deletions.
27 changes: 18 additions & 9 deletions src/BuildingRegistry.Cache.Invalidator/Infrastructure/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,12 @@ namespace BuildingRegistry.Cache.Invalidator.Infrastructure
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Timers;
using Autofac;
using Autofac.Extensions.DependencyInjection;
using Be.Vlaanderen.Basisregisters.Aws.DistributedMutex;
using BuildingRegistry.Infrastructure;
using Consumer.Read.Parcel;
using Consumer.Read.Parcel.Infrastructure.Modules;
using Destructurama;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
Expand Down Expand Up @@ -108,12 +105,24 @@ public static async Task Main(string[] args)
var distributedLockOptions = DistributedLockOptions.LoadFromConfiguration(configuration);
var distributedLock = new DistributedLock<Program>(distributedLockOptions, distributedLockTableName, loggerFactory.CreateLogger<Program>());

await distributedLock.RunAsync(
async () =>
{
await host.RunAsync().ConfigureAwait(false);
})
.ConfigureAwait(false);
while (true)
{
try
{
await distributedLock.RunAsync(
async () =>
{
await host.RunAsync().ConfigureAwait(false);
})
.ConfigureAwait(false);
break;
}
catch (AcquireLockFailedException)
{
Log.Information("Failed to acquire lock. Trying again within 1 minute.");
await Task.Delay(TimeSpan.FromMinutes(1)).ConfigureAwait(false);
}
}
}
}
catch (AggregateException aggregateException)
Expand Down
3 changes: 2 additions & 1 deletion src/BuildingRegistry.Cache.Invalidator/appsettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@
"Region": "eu-west-1",
"TableName": "__DistributedLocks__",
"LeasePeriodInMinutes": 5,
"ThrowOnFailedAcquire": true,
"TerminateApplicationOnFailedRenew": true,
"TerminateApplicationOnFailedAcquire": true,
"TerminateApplicationOnFailedAcquire": false,
"LockName": "Be.Vlaanderen.Basisregisters.Redis.Populator.Program"
},

Expand Down

0 comments on commit fc06268

Please sign in to comment.