【问题标题】:Long time scheduler in C#C#中的长时间调度程序
【发布时间】:2018-06-27 05:00:39
【问题描述】:

我正在尝试使用 net core 2.0 创建一个项目。用户可以在 我系统中的遥远未来(遥远未来的提醒调用weapi方法)。提醒保存在数据库中(我现在选择数据库)。 Nuget-package Quartz.NET 可以在未来创建提醒。但是如果服务器会重新启动呢?
主要思想是:在startup.cs 在Quartz.NET 中重新创建提醒。我不喜欢这个主意,因为可能会有很多提醒。您对我该怎么做有什么想法吗?

【问题讨论】:

  • 使用TaskScheduler检查这个例子stackoverflow.com/questions/49258557/…你需要添加一行代码让它在系统启动时启动,如果你不明白,请告诉我,我可以在我得到时回复你家
  • 除非你真的打算在非 Windows 环境中运行 .NET Core 代码,正如 @maytham-ɯɐɥʇʎɐɯ 所说,请使用 Windows 任务计划程序。它很容易从 c# 访问;作为 Windows 服务运行,因此无需登录;不需要数据库

标签: c# scheduled-tasks quartz.net


【解决方案1】:

Quatrz.net 允许您choose JobStore,因此您可以在应用程序重新启动后恢复所有作业。另一种选择是使用Hangfire,它提供了很多开箱即用的持久性选项。

【讨论】:

  • 如果你想在 Windows 环境中调度任务,Hangfire 会如何在 Windows 中创建任务?
  • @maytham-ɯɐɥʇʎɐɯ 如果您需要 Windows 任务,除非您编写代码来执行此操作,否则 Hangfire 不会创建它们,但在最初的问题中没有提及 Windows 任务。
  • 这是正确的,但是石英的想法,任务调度程序在 Windows 调度程序中创建任务,以便它们可以在服务器重新启动后在 Windows 启动时启动,这就是重点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-18
  • 2012-06-23
  • 2015-12-04
  • 1970-01-01
  • 1970-01-01
  • 2018-02-21
相关资源
最近更新 更多