[英]How to run cron job every day in asp. Net core application?
我有一个用 asp 编写的 web 应用程序。 净MVC核心2.2。 O 需要每天凌晨 3:00 运行计划作业。 最好的方法是什么?
我试过 hangfire 一段时间后它停止了。 我们需要设置 IIS 服务器一直运行。 我用谷歌搜索并找到了 .Net Core 中的托管服务。 谁能告诉我每天在 dot.net core 的 web 应用程序中运行作业的最佳方法是什么?
老实说,我没有亲自为 .NET Core 尝试过,但是您尝试过Quartz Scheduler吗? https://www.quartz-scheduler.net/通过这篇文章,您似乎也可以将它与 .NET Core 一起使用
你可以使用EasyCronJob (免责声明:我是这个包的作者)
services.ApplyResulation<TCronJob>(options =>{
options.CronExpression = "* * * * *";
options.TimeZoneInfo = TimeZoneInfo.Local;});
此处提供的文档
Quartz.Net 有一个轻量级替代方案: CronScheduler.AspNetCore 。
我过去和当前项目都使用过 Quartz.Net,这是一个不必要的复杂库。 对于没有数据库的简单使用,请尝试 CronScheduler.AspNetCore。
services.AddScheduler(ctx =>
{
ctx.AddJob<TestJob>();
});
或更复杂的注册:
services.AddScheduler(ctx => { var jobName1 = "TestJob1"; ctx.AddJob( sp => { var options = sp.GetRequiredService<IOptionsMonitor<SchedulerOptions>>().Get(jobName1); return new TestJobDup(options, mockLoggerTestJob.Object); }, options => { options.CronSchedule = "*/5 * * * * *"; options.RunImmediately = true; }, jobName: jobName1); });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.