Hangfire 实现

Hangfire implemetation

我是 hangfire 的新手,正在寻找可以解决以下情况的解决方案

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

take the data from the DB and convert this to CSV file

您可以在应用程序中的任何 class 上对 运行 任何 public 方法使用 hangfire。所以如果你写了一个方法来做你想做的事,那么 hangfire 就可以调用那个方法:

BackgroundJob.Enqueue<IUserRecordProcessor>(x => x.ProcessRecord());

hangfire should fire end of the day if there is new record inserted

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

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

Can we deploy hangfire on the local machine and do the testing

是的,你可以。