Cie*_*eja 5 .net c# asp.net-mvc hangfire asp.net-core
我有一些想做经常性工作的方法。
我知道我可以在我的Startup.cs中使用hangfire,例如:
RecurringJob.AddOrUpdate(() => Console.WriteLine("I'm a recurring job"), Cron.Minutely);
Run Code Online (Sandbox Code Playgroud)
但是问题是我如何在这里使用我的服务?我应该在这里(依赖注入吗?)还是在其他地方使用?
也许我应该在appsettings.json中添加一些cron值?
你的意思是这样吗?
RecurringJob.AddOrUpdate<IAlertService>(x =>
x.SendAlerts(emailSettings, link), Cron.MinuteInterval(1));
Run Code Online (Sandbox Code Playgroud)
小智 -8
我认为 Hangfire 的缺点是设置起来很复杂。它需要一些额外的表来设置才能工作。我希望您在数据库中为其创建了表。请参阅如何获取定期作业。- HangFire 定期任务数据。我觉得它非常适合排队作业或后台任务,但对于重复性作业,我建议使用Quartz.net。它不需要这样的设置并且非常容易集成。到目前为止没有任何问题,并且它有良好的 CRON 支持。示例 - https://www.mikesdotnetting.com/article/254/scheduled-tasks-in-asp-net-with-quartz-net
| 归档时间: |
|
| 查看次数: |
3622 次 |
| 最近记录: |