我正在显示当前在我的页面上运行的 hangfire 服务器列表。
我在控制台应用程序中运行 hangfire 服务器,但问题是当我没有运行控制台应用程序时,hangfire api 仍然返回 hangfire 服务器。
此外,当我多次运行我的控制台应用程序时,我得到了 3-4 个 hangfire 服务器,尽管我只有 1 个 hangfire 服务器在控制台应用程序中运行。
Mvc 应用程序:
IMonitoringApi monitoringApi = JobStorage.Current.GetMonitoringApi();
var servers = monitoringApi.Servers().OrderByDescending(s => s.StartedAt);
控制台应用程序:Hangfire 服务器
public static void Main(string[] args)
{
var sqlServerPolling = new SqlServerStorageOptions
{
QueuePollInterval = TimeSpan.FromSeconds(20) // Default value
};
GlobalConfiguration.Configuration.UseSqlServerStorage("ConnectionString", sqlServerPolling);
// Set automatic retry attempt
GlobalJobFilters.Filters.Add(new AutomaticRetryAttribute { Attempts = 0 });
// Set worker count
var options = new BackgroundJobServerOptions
{
WorkerCount = 1,
};
using (var server = new BackgroundJobServer(options))
{
Console.WriteLine("Hangfire Server1 started. Press any key to exit...");
Console.ReadKey();
}
}
每当我为该特定服务器再次运行控制台应用程序时,Hangfire 服务器不会自动删除旧的服务器数据?
我将不胜感激任何帮助:)