在横向扩展的情况下,如何让周期性作业仅在一个实例上触发

问题描述 投票:0回答:1

我使用Hangfire从FTP服务器读取文件,并且我有多个服务器实例从FTP读取。我需要仅在一个实例上触发周期性作业,以防止同一作业从同一文件读取。

var jobId = BackgroundJob.Enqueue<FtpImageJob>(j => j.ExecuteAsync(null, device.NumericId, device.DeviceId, device.VehicleId, device.TenantId));
                BackgroundJob.ContinueJobWith<FtpDeleteJob>(jobId, j => j.ExecuteAsync(null, numericId), JobContinuationOptions.OnAnyFinishedState);
c# asp.net-mvc ftp hangfire hangfire-autofac
1个回答
0
投票

您可以使用带有Mutex功能的付费Hangfire.Pro软件包,或使用[DisableConcurrentExecution]属性装饰您的工作功能。

© www.soinside.com 2019 - 2024. All rights reserved.