asp.net - 在 asp.net 表单中使用hangfire 创建计划(延迟)重复作业

标签 asp.net webforms delayed-job hangfire recurring

我想使用 Hangfire 创建一个定期作业,但我希望它被延迟并在某个日期开始。
例如,我将创建一个每周执行一项任务的作业,但我希望该任务在 3 天后开始!

经过搜索,我找不到既可以完成延迟任务又可以同时重复执行的东西。

我今天才开始使用hangfire,所以我还没有太多使用它的经验。

最佳答案

Hangfire 提供了通过这种方式创建重复性工作的可能性:

RecurringJob.AddOrUpdate(
    () => myRecurringJob(),
    Cron.Daily);

但是,正如您所提到的,这不允许推迟第一次发生的开始日期。要解决此问题,我建议使用计划作业稍后创建重复作业:

BackgroundJob.Schedule(() => myRecurringJobCreation(), 
                       new DateTimeOffset(new DateTime(2017,2,10)));

//...
public void myRecurringJobCreation() {
    RecurringJob.AddOrUpdate(
        () => myRecurringJob(),
        Cron.Daily);
}

关于asp.net - 在 asp.net 表单中使用hangfire 创建计划(延迟)重复作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42050397/

相关文章:

asp.net - SlowCheetah 未在 CI 服务器上生成转换后的配置文件

asp.net - 页面生命周期中 session 状态、应用程序状态在哪里?

javascript - 如何使用参数 ASP.NET 填充下拉列表

Asp.net 4.0 表单例份验证和 FriendlyUrls

ruby-on-rails - Rails 自定义延迟作业 - 未初始化的常量

ruby-on-rails - Delayed_job : NoMethodError: undefined method `my_method_without_delay'

mysql - 当数据库不可用时,延迟的工作人员退出

c# - 缺少 ASP.net MVC FormsAuthentication cookie

asp.net - 使用比较验证器失火进行开始日期 - 结束日期验证

javascript - 强制关闭网页