我想問(wèn)一下是否有一種方法可以定義HangFire服務(wù)器不應(yīng)該處理重復(fù)作業(yè)?有兩個(gè)應(yīng)用程序(Windows服務(wù)和Web應(yīng)用程序)使用HangFire運(yùn)行后臺(tái)作業(yè),因此有兩個(gè)hangfire服務(wù)器(正確定義了隊(duì)列)。服務(wù)僅創(chuàng)建重復(fù)性作業(yè),并且正在使用“默認(rèn)”隊(duì)列。Web應(yīng)用程序創(chuàng)建了“一勞永逸”的作業(yè),并且正在使用其他隊(duì)列(例如web_app_queue)。盡管為其他隊(duì)列定義了Web應(yīng)用程序創(chuàng)建的HangFire服務(wù)器,但它似乎正嘗試調(diào)度/處理重復(fù)作業(yè),但是Web應(yīng)用程序HangFire服務(wù)器無(wú)法訪問(wèn)Windows服務(wù)可用的必需程序集。Web App HangFire服務(wù)器:var backgroundJobServer = new BackgroundJobServer(new BackgroundJobServerOptions { Queues = new[] { "web_app_queue" } });Web App HangFire作業(yè):var client = new BackgroundJobClient();var state = new EnqueuedState("web_app_queue");var jobId = client.Create(methodCall, state);Windows服務(wù)HangFire服務(wù)器:var server = new BackgroundJobServer();Windows Service HangFire作業(yè):private static void AddRecurringJob<T>(string cronExpression) where T : IJob{ RecurringJob.AddOrUpdate<T>(job => job.Execute(), cronExpression, TimeZoneInfo.Local);}未為Windows Service HangFire服務(wù)器和作業(yè)定義隊(duì)列名稱,因此應(yīng)用了默認(rèn)隊(duì)列(“默認(rèn)”)。
Hangfire服務(wù)器正在嘗試處理其他隊(duì)列中的作業(yè)
人到中年有點(diǎn)甜
2021-04-29 10:15:29