c# - Hangfire 单实例重复作业

标签 c# asp.net-mvc hangfire

我正在尝试使用 Hangfire 在后台运行一个循环作业,从另一个网站轮询数据,问题是如果之前的作业仍在运行,我不希望循环作业运行。

我通读了文档,但似乎找不到答案。有没有一种方法可以使每 10 分钟运行一次的循环作业在上一个任务尚未完成时跳过?

public void Configuration(IAppBuilder app)
{
    app.MapSignalR();

    // Hangfire
    GlobalConfiguration.Configuration
        .UseSqlServerStorage("DatabaseContext");

    app.UseHangfireDashboard();
    app.UseHangfireServer();

    RecurringJob.AddOrUpdate("site-parser", () => SiteParserService.RunAll(), Cron.Minutely, TimeZoneInfo.Utc);

    ConfigureAuth(app);
}

最佳答案

你可以使用; [DisableConcurrentExecution(10 * 60)] 作业方法上的属性。

您可以在此处找到有关此属性的信息: http://odinserj.net/2014/05/21/hangfire-0.8.2-released/

关于c# - Hangfire 单实例重复作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30787584/

相关文章:

c# - 使用 jQuery 的 DataAnnotation 客户端

c# - 通过文本框和按钮搜索 mysql 数据库并将输出重定向到另一个页面

asp.net-mvc - 如何使用 jQuery 将对象列表传递给 ASP.NET MVC 操作?

c# - hangfire 配置中的 SchedulePollingInterval、HeartbeatInterval 和 ServerCheckInterval 有什么区别?

asp.net-mvc - Autofac (+MVC + EF + SignalR + Hangfire) 生命周期范围

c# - Hangfire 在真实服务器中不工作

c# - 如何在 Entity Framework Code-First 中创建自定义 m2m 表

c# - LINQ 查询中的左外连接

javascript - 我对这个 Angularjs ng-repeat 做错了什么?

asp.net - 无法检索元数据