【问题标题】:How to run cron job every day in asp. Net core application?如何在asp中每天运行cron作业。网络核心应用?
【发布时间】:2020-08-05 21:18:06
【问题描述】:

我有一个用 asp 编写的 web 应用程序。网络 mvc 核心 2.2. O 需要在每天凌晨 3:00 运行计划作业。最好的方法是什么?

我试过hangfire它在一段时间后停止。我们需要设置 IIS 服务器始终运行。我用谷歌搜索并在.Net core 中找到了托管服务。谁能告诉我每天在 dot net core 的 Web 应用程序中运行工作的最佳方法是什么?

【问题讨论】:

  • 取决于您的平台和部署,但也许您可以在主机上运行真正的 cron(如果是 Linux)或 Windows 任务计划程序?两者都经过验证并且有效。否则,您始终可以使用计时器或基于计时器的框架,或者如果您有一个或将其放入数据库中......仍然,通常最简单的解决方案是最好的。

标签: c# asp.net .net-core cron-task


【解决方案1】:

老实说,我还没有亲自为 .NET Core 尝试过,但是您是否尝试过 Quartz Schedulerhttps://www.quartz-scheduler.net/

[更新]: 根据Quartz GitHub repo:“Quartz.NET 支持 .NET Core/netstandard 2.0 和 .NET Framework 4.6.1 及更高版本。”

【讨论】:

  • 我没有使用它,但我会使用它。我会告诉你答复。
  • 我现在实现了它,看起来非常好!谢谢
【解决方案2】:

您可以使用Hangfire

您可以使用 CRON 模式创建循环函数。

RecurringJob.AddOrUpdate(() => Console.Write("Powerful!"), "0 12 * */2");

提供文档here

【讨论】:

    【解决方案3】:

    你可以使用EasyCronJob(免责声明:我是这个包的作者)

    services.ApplyResulation<TCronJob>(options =>{
     options.CronExpression = "* * * * *";
     options.TimeZoneInfo = TimeZoneInfo.Local;});
    

    提供文档here

    【讨论】:

      猜你喜欢
      • 2012-08-09
      • 2016-06-05
      • 2014-08-14
      • 2013-01-20
      • 2013-11-23
      • 2015-07-15
      • 2022-10-25
      • 1970-01-01
      相关资源
      最近更新 更多