18

Hangfire を使用して、別の Web サイトからデータをポーリングする繰り返しジョブをバックグラウンドで実行しようとしています。問題は、前のジョブがまだ実行されている場合、繰り返しジョブを実行したくないということです。

ドキュメントを読みましたが、答えが見つからないようです。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);
}
4

2 に答える 2

9

使用できます。 [DisableConcurrentExecution(10 * 60)]job メソッドの属性。

ここで、この属性に関する情報を見つけることができます: http://odinserj.net/2014/05/21/hangfire-0.8.2-released/

于 2016-08-18T16:29:18.067 に答える