我想问一下是否有一种方法可以定义HangFire服务器不应该处理重复作业?有两个应用程序(Windows服务和Web应用程序)使用HangFire运行后台作业,因此有两个hangfire服务器(正确定义了队列)。服务仅创建重复性作业,并且正在使用“默认”队列。Web应用程序创建了“一劳永逸”的作业,并且正在使用其他队列(例如web_app_queue)。尽管为其他队列定义了Web应用程序创建的HangFire服务器,但它似乎正尝试调度/处理重复作业,但是Web应用程序HangFire服务器无法访问Windows服务可用的必需程序集。Web App HangFire服务器:var backgroundJobServer = new BackgroundJobServer(new BackgroundJobServerOptions { Queues = new[] { "web_app_queue" } });Web App HangFire作业:var client = new BackgroundJobClient();var state = new EnqueuedState("web_app_queue");var jobId = client.Create(methodCall, state);Windows服务HangFire服务器:var server = new BackgroundJobServer();Windows Service HangFire作业:private static void AddRecurringJob<T>(string cronExpression) where T : IJob{ RecurringJob.AddOrUpdate<T>(job => job.Execute(), cronExpression, TimeZoneInfo.Local);}未为Windows Service HangFire服务器和作业定义队列名称,因此应用了默认队列(“默认”)。
1 回答
- 1 回答
- 0 关注
- 278 浏览
添加回答
举报
0/150
提交
取消