Quartz.Net 2.5配置文件如何生效?

bluespark 2017-06-10 10:59:15
最近用Quartz.Net 2.5写任务调度。 Job和Trigger用代码写就可以运行。
因为情况变更,要加入更多的任务。就想用quartz_jobs.xml 来搞定。 但是发现程序好像不执行一样。
能帮忙看看吗?

<?xml version="1.0" encoding="UTF-8"?>

<!-- This file contains job definitions in schema version 2.0 format -->

<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">

<processing-directives>
<overwrite-existing-data>true</overwrite-existing-data>
</processing-directives>

<schedule>
<!--定义示例任务1 Job-->
<job>
<name>Job1</name>
<group>JobGroup</group>
<description>Quartz示例任务1</description>
<job-type>QuartTest.TestJob,QuartzTest</job-type>
<durable>true</durable>
<recover>false</recover>
</job>

<trigger>
<simple>
<name>sampleSimpleTrigger</name>
<group>sampleSimpleGroup</group>
<description>Simple trigger to simply fire sample job</description>
<job-name>Job1</job-name>
<job-group>JobGroup</job-group>
<misfire-instruction>SmartPolicy</misfire-instruction>
<repeat-count>-1</repeat-count>
<repeat-interval>2000</repeat-interval>
</simple>
</trigger>

<!--定义示例任务2 Job-->
<job>
<name>DemoJob2</name>
<group>JobGroup2</group>
<description>Quartz示例任务2</description>
<job-type>QuartTest.Job2,QuartzTest</job-type>
<durable>true</durable>
<recover>false</recover>
</job>

<!--定义示例任务2 触发器 每5秒执行一次DemoJob2任务-->
<trigger>
<cron>
<name>Job2Trigger</name>
<group>JobTriggerGroup</group>
<job-name>DemoJob2</job-name>
<job-group>JobGroup2</job-group>
<cron-expression>0/5 * * * * ? </cron-expression>
</cron>
</trigger>

</schedule>
</job-scheduling-data>


 public class TestJob:IJob
{
public void Execute(IJobExecutionContext context)
{
Console.WriteLine("任务调度1");
}

}


 public class Job2:IJob
{
public void Execute(IJobExecutionContext context)
{
Console.WriteLine("任务调度2");
}

}


class Program
{
//IScheduler sched;
static void Main(string[] args)
{
//调度器构造工厂
ISchedulerFactory factory = new StdSchedulerFactory();

//第一步:构造调度器
IScheduler scheduler = factory.GetScheduler();
scheduler.Start();//启动调度器

while (!scheduler.IsStarted)
{
Console.WriteLine("Waiting for scheduler to start.");
Thread.Sleep(1000);
}
Console.WriteLine("IsStarted={0}", scheduler.IsStarted);
Console.WriteLine("SchedulerInstanceId={0}", scheduler.SchedulerInstanceId);
Console.WriteLine("SchedulerName={0}", scheduler.SchedulerName);
Console.WriteLine("The scheduler is running. Press any key to stop");
Console.ReadKey();
Console.WriteLine("Shutting down scheduler");
scheduler.Shutdown(false);
while (!scheduler.IsShutdown)
{
Console.WriteLine("Waiting for scheduler to shutdown.");
Thread.Sleep(1000);
}
Console.WriteLine("IsShutdown={0}", scheduler.IsShutdown);
Console.WriteLine("The scheduler has been shutdown.");

}
}
}
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
807254150 2019-11-17
  • 打赏
  • 举报
回复
引用 4 楼 bluespark 的回复:
[quote=引用 3 楼 807254150 的回复:]
[quote=引用 1 楼 bluespark 的回复:]
啊啊啊,傻了。 两个配置文件应该复制一份到主程序文件夹



楼主这个怎么复制?我现在也遇到同样的问题,但是quartz.config 复制过来放到主程序目录,还是无效?[/quote]
现在已经升级到Quartz.Net 3.0.7,各种方法都改变了。[/quote]

我去参考了quart.net的例子,已经改造过来了。3.0.7的好用很多。而且我已经做了例子,写到了博客园去了!谢谢你的回复!
bluespark 2019-11-14
  • 打赏
  • 举报
回复
引用 3 楼 807254150 的回复:
[quote=引用 1 楼 bluespark 的回复:] 啊啊啊,傻了。 两个配置文件应该复制一份到主程序文件夹
楼主这个怎么复制?我现在也遇到同样的问题,但是quartz.config 复制过来放到主程序目录,还是无效?[/quote] 现在已经升级到Quartz.Net 3.0.7,各种方法都改变了。
807254150 2019-11-10
  • 打赏
  • 举报
回复
引用 1 楼 bluespark 的回复:
啊啊啊,傻了。 两个配置文件应该复制一份到主程序文件夹
楼主这个怎么复制?我现在也遇到同样的问题,但是quartz.config 复制过来放到主程序目录,还是无效?
bluespark 2017-06-10
  • 打赏
  • 举报
回复
啊啊啊,傻了。 两个配置文件应该复制一份到主程序文件夹

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧