Skip to content

Commit 7a301dc

Browse files
authored
Merge pull request #1156 from visagang/features/vguruparan
Update distributed lock for cronservice
2 parents 03a6cea + 393430e commit 7a301dc

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/Infrastructure/BotSharp.Abstraction/Crontab/Settings/CrontabSettings.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ public class CrontabSettings
44
{
55
public CrontabBaseSetting EventSubscriber { get; set; } = new();
66
public CrontabBaseSetting Watcher { get; set; } = new();
7+
public string LockName { get; set; } = "CrontabWatcher:locker";
78
}
89

910
public class CrontabBaseSetting

src/Infrastructure/BotSharp.Core.Crontab/Services/CrontabWatcher.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,15 @@ public class CrontabWatcher : BackgroundService
1010
{
1111
private readonly ILogger _logger;
1212
private readonly IServiceProvider _services;
13+
private readonly CrontabSettings _cronSettings;
14+
private string DIST_KEY;
1315

14-
public CrontabWatcher(IServiceProvider services, ILogger<CrontabWatcher> logger)
16+
public CrontabWatcher(IServiceProvider services, ILogger<CrontabWatcher> logger, CrontabSettings cronSettings)
1517
{
1618
_logger = logger;
1719
_services = services;
20+
_cronSettings = cronSettings;
21+
DIST_KEY = _cronSettings.LockName;
1822
}
1923

2024
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
@@ -29,7 +33,7 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
2933
{
3034
var delay = Task.Delay(1000, stoppingToken);
3135

32-
await locker.LockAsync("CrontabWatcher:locker", async () =>
36+
await locker.LockAsync(DIST_KEY, async () =>
3337
{
3438
await RunCronChecker(scope.ServiceProvider);
3539
});

0 commit comments

Comments
 (0)