【问题标题】:Adding and removing jobs dynamically to Quartz.NET Windows Service向 Quartz.NET Windows 服务动态添加和删除作业
【发布时间】:2014-09-19 19:20:13
【问题描述】:

我正在开发电子邮件营销WinForm 应用程序。对于活动的安排,我决定使用Quartz.NET。我需要它作为 Windows 服务运行。但我也希望用户能够通过程序向服务添加工作(例如,需要每天早上 8 点运行的活动,基本上是运行 .bat 文件)。

我还将所有作业计划保存在数据库中,这样当您停止/启动操作系统或 Windows 服务时,它仍然可以读取所有需要运行的作业。

如何在服务运行时向服务添加作业?将作业动态添加/删除到服务中当然是首选。坦率地说,停止服务并再次从数据库中读取所有作业是我最后的手段。

【问题讨论】:

    标签: c# winforms windows-services quartz.net job-scheduling


    【解决方案1】:

    您可以将 Quartz.Net 安装为 Windows 服务并将其配置为使用 AdoJobStore
    您的 WinForm 应用程序将成为您可以添加、暂停和删除作业和触发器的界面。

    您在执行此操作时不必停止 windows services

    您无需阅读数据库即可了解 Quartz 中发生了什么,但您必须使用提供的 API。

    我很久以前做过类似的事情;我的quartz.net“经理”是一个网络应用程序。

    你可以阅读我的回答here

    我猜你正在寻找的步骤几乎相同。

    可以在herehere 找到 Quartz.net 示例和免费书籍的参考。

    【讨论】:

    • 谢谢!只有通过其他博客,我才意识到可以将 Quartz.NET 安装为 Windows 服务。我想这是一种典型的方法,当您想安排作业运行时,不管您的主应用程序如何。为什么 Quartz.NET 的官方网站上没有提到这个选项?
    • 文档很差。您可以在 Jay Vilalta 的博客上找到更多信息(请参阅更新的答案)。
    • 如果您对答案感到满意,请随时接受答案(并点赞)。这就是 SO 的工作方式。
    • 谢谢。是的,我想我必须对 Quartz.NET 做更多的研究。官方网站上的文档还远远不够。
    • 我推荐的博客和这本书包含了你开始需要的所有东西。关于 SO,Quartz.Net 上已经提出了很多问题。通过这里的答案,你会发现几乎所有你需要的东西。干杯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    相关资源
    最近更新 更多