我有一个重复性作业:ImportJob.cs包含以下代码:
[AutomaticRetry(Attempts = 0)]
[DisableConcurrentExecution(5)]
// ReSharper disable once UnusedMember.Global
public class ImportJob : IRecurringJob
{
public void Execute(PerformContext context)
{
context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} Starting import job...");
using (AuthenticationEntities db = new AuthenticationEntities())
{
context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} Counting current login events...");
int loginevents = db.LoginEvents.Count();
context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} Found {loginevents} login events...");
}
context.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} Finished import job...");
}
}
作业正在排队,但它从未完成(甚至执行?我不确定为什么它没有被执行。
我使用 Hangfire.RecurringJobExtensions 包从 jobs.json 配置作业。我使用共享项目中的数据库上下文(EF6 db-first .edmx),这在应用程序的其余部分工作正常。
我通过更改作业的队列犯了一个基本错误,但从未将服务器配置为处理与默认队列不同的队列......