4

Quartz.Net 使用 XML 文件来配置要运​​行的作业以及运行这些作业的计划。据我了解,XML 配置的唯一其他选择是在编译时配置作业和计划。

我们有大量计划任务(250 个任务,每个任务部署到 3 到 5 个环境中),并且正在寻求迁移这些任务以使用 Quartz.Net。

[1] 在 Quarts.Net 中管理作业和调度配置信息是否有任何最佳实践?

[2] 是否有任何工具可用于创建配置文件?

作业的示例配置是:

<job>
  <name>addDirectoryScanListener</name>
  <group>directoryScanJobExample</group>
  <description>Sample job for Quartz Server</description>
  <job-type>Examples.DirectoryScanListenerExample, Examples</job-type>
</job>

<trigger>
  <simple>
    <name>addDirectoryScanListenerSimpleTrigger</name>
    <group>directoryScanJobExampleSimpleTriggerGroup</group>
    <description>Simple trigger to simply fire sample job</description>
    <job-name>addDirectoryScanListener</job-name>
    <job-group>directoryScanJobExample</job-group>
    <misfire-instruction>SmartPolicy</misfire-instruction>
    <repeat-count>0</repeat-count>
    <repeat-interval>10000</repeat-interval>
  </simple>
</trigger>
4

1 回答 1

9

有几种内置的方式来配置 Quartz.NET,这里有一个小的比较。

  • 基于代码的配置
    • 您使用调度程序 API 创建/更新/删除作业和触发器
    • 通过硬编码配置的计划和作业自然需要重新编译,使用带有调度程序 API 和持久作业存储的 UI 等是另一回事
  • XML 配置

再说一次,你有工作商店的选择。无论您配置调度程序/作业/触发器的方式如何,您都可以使用任何作业存储。

  • RAMJobStore
    • 最快(但通常不是一个因素)和最简单的设置作业存储,但无法从服务器重启等导致的错过触发器火灾中恢复
  • AdoJobStore
    • 在重启之间存储触发器、作业及其状态,并允许您运行 Quartz.NET 集群以进行故障转移和扩展

还有一些基于 Web 的管理 UI 可用,有关详细信息,请参阅Quartz.NET 的任何开源管理 UI

Quartz.NET教程也是一个很好的起点。

于 2012-11-08T06:09:01.423 回答