【发布时间】:2021-08-04 10:52:07
【问题描述】:
我需要编写一个windows服务来执行如下几个操作:
- 从 api 获取数据并将其转储到 db - 每小时执行一次
- 合并 - 每 6 小时执行一次
- 摘要 - 每天 01:00 执行一次
我不想使用多个计时器或根本不想使用计时器。请建议安排这些任务的最佳方式。
【问题讨论】:
标签: c# windows-services
我需要编写一个windows服务来执行如下几个操作:
我不想使用多个计时器或根本不想使用计时器。请建议安排这些任务的最佳方式。
【问题讨论】:
标签: c# windows-services
有多种方法可以做到这一点。如果您坚持使用 Windows 服务,您可以查看 Hangfire。使用它的代价是您需要添加一个可以存储作业信息的数据库。
查看以下链接以了解 Hangfire:https://www.hangfire.io/
您还可以使用本机 Windows 调度程序来调度作业。 您将创建一个控制台应用程序或类似的东西,而不是创建一个 Windows 服务,并使用 Windows 调度程序来确定它应该执行的时间。
如果您不想使用本机功能,我建议您使用像这样的 nuget 包; https://www.quartz-scheduler.net/
以上所有内容都是用一点谷歌魔法和了解windows操作系统找到的..
【讨论】: