Hangfire实现

时间:2016-02-01 09:30:54

标签: model-view-controller asp.net-mvc-5 hangfire

我是hangfire的新手并且正在寻找可以解决以下问题的解决方案

  1. 从数据库中获取数据并将其转换为CSV文件。如果用户插入新记录,就应该发生这种情况,如果插入了新记录,则hangfire应该在当天结束。
  2. 我们可以在本地计算机上部署hangfire并进行测试

1 个答案:

答案 0 :(得分:1)

  

从数据库获取数据并将其转换为CSV文件

您可以使用hangfire在应用程序的任何类上运行任何公共方法。因此,如果您编写的方法可以满足您的需求,那么hangfire可以调用该方法:

BackgroundJob.Enqueue<IUserRecordProcessor>(x => x.ProcessRecord());
  如果插入了新记录,

hangfire应该在当天结束

您可以安排hangfire来执行周期性任务(请参阅here)。但是,此执行不是有条件的。相反,您应该将条件逻辑移动到hangfire调用的代码中:

RecurringJob.AddOrUpdate<IUserRecordProcessor>(x => x.ProcessRecordIfOneExists(), Cron.Daily);
  

我们可以在本地计算机上部署hangfire并进行测试

是的,你可以。