我有一个定期工作: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配置作业。我在共享项目中使用了dbcontext(EF6 db-first .edmx),在其他应用程序中也能正常工作。
答案 0 :(得分:0)
我通过更改作业队列犯了一个基本错误,但从未配置服务器以处理不同于默认队列的邮件...