gpt4 book ai didi

quartz.net - 当配置文件更改时,quartz.net 可以重新配置作业吗?

转载 作者:行者123 更新时间:2023-12-04 01:55:20 25 4
gpt4 key购买 nike

我用 Quartz.Net 做一个概念验证
一个相当简单的调度任务,我唯一的要求是重新配置 quartz 不需要重新启动服务

这是测试代码

        var factory = new StdSchedulerFactory();
var scheduler = factory.GetScheduler();
scheduler.Start();

app.config中的相关数据
  <quartz>
<add key="quartz.scheduler.instanceName" value="QuartzScheduler" />
<!-- Configure Thread Pool -->
<add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
<add key="quartz.threadPool.threadCount" value="10" />
<add key="quartz.threadPool.threadPriority" value="Normal" />
<!-- Configure Job Store -->
<add key="quartz.jobStore.type" value="Quartz.Simpl.RAMJobStore, Quartz" />
<add key="quartz.plugin.xml.type" value="Quartz.Plugin.Xml.JobInitializationPlugin, Quartz" />
<add key="quartz.plugin.xml.fileNames" value="quartz.config" />

我的工作配置文件
    <?xml version="1.0" encoding="UTF-8"?>
<quartz xmlns="http://quartznet.sourceforge.net/JobSchedulingData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="1.0"
overwrite-existing-jobs="true">

<job>
<job-detail>
<name>jobName1</name>
<group>jobGroup1</group>
<description>jobDesciption1</description>
<job-type>Jobs.MyJob, Jobs</job-type>
<volatile>false</volatile>
<durable>true</durable>
<recover>false</recover>
</job-detail>

<trigger>
<cron>
<name>cronName1</name>
<group>cronGroup1</group>
<description>CronTriggerDescription</description>
<job-name>jobName1</job-name>
<job-group>jobGroup1</job-group>
<cron-expression>0 0/1 * * * ?</cron-expression>
</cron>

</trigger>
</job>
</quartz>

cron 表达式有效并且每分钟执行一次作业,但是如果我将表达式更改为 0 0/5 * * * ?在运行服务时,它仍然每分钟触发一次。那么有没有办法配置 Quartz.net 以便它监听对配置文件的文件更改?

最佳答案

为插件添加扫描间隔定义(秒):

<add key="quartz.plugin.xml.scanInterval" value="10" />

之后该插件将定期检查文件更改。

关于quartz.net - 当配置文件更改时,quartz.net 可以重新配置作业吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4864971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com