【问题标题】:C# - Scheduling multiple operations in windows service without timerC# - 在没有计时器的 Windows 服务中调度多个操作
【发布时间】:2021-08-04 10:52:07
【问题描述】:

我需要编写一个windows服务来执行如下几个操作:

  • 从 api 获取数据并将其转储到 db - 每小时执行一次
  • 合并 - 每 6 小时执行一次
  • 摘要 - 每天 01:00 执行一次

我不想使用多个计时器或根本不想使用计时器。请建议安排这些任务的最佳方式。

【问题讨论】:

    标签: c# windows-services


    【解决方案1】:

    有多种方法可以做到这一点。如果您坚持使用 Windows 服务,您可以查看 Hangfire。使用它的代价是您需要添加一个可以存储作业信息的数据库。

    查看以下链接以了解 Hangfire:https://www.hangfire.io/

    您还可以使用本机 Windows 调度程序来调度作业。 您将创建一个控制台应用程序或类似的东西,而不是创建一个 Windows 服务,并使用 Windows 调度程序来确定它应该执行的时间。

    如果您不想使用本机功能,我建议您使用像这样的 nuget 包; https://www.quartz-scheduler.net/

    以上所有内容都是用一点谷歌魔法和了解windows操作系统找到的..

    【讨论】:

    • Quartz 调度器看起来不错而且很容易上手。将首先尝试。谢谢
    猜你喜欢
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 2012-08-07
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多