一个小的 Quartz Demo
2011-04-23 14:54 音乐让我说 阅读(933) 评论(0) 收藏 举报基础篇
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Quartz;
using Common.Logging;
using Quartz.Impl;
namespace ConAppTestQuartzDemo
{
class Program
{
static void Main(string[] args)
{
new ScheduleingFactory().Job();
Console.ReadKey();
}
}
}
RewardJob.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Quartz;
namespace ConAppTestQuartzDemo
{
public class RewardJob : IJob
{
public virtual void Execute(JobExecutionContext context)
{
Console.WriteLine("\n=================================================================\n");
Console.WriteLine("现在的时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
Console.WriteLine("\n=================================================================\n");
}
}
}
ScheduleingFactory.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Quartz;
using Common.Logging;
using Quartz.Impl;
namespace ConAppTestQuartzDemo
{
public class ScheduleingFactory
{
private static ILog _log = LogManager.GetLogger(typeof(ScheduleingFactory));
private ISchedulerFactory sf = null;
private IScheduler scheduler = null;
public ScheduleingFactory()
{
//初始化调度器工厂
sf = new StdSchedulerFactory();
}
private IScheduler GetScheduler()
{
return sf.GetScheduler();
}
/// <summary>
/// 停止调度工作
/// </summary>
/// <param name="inScheduler"></param>
public void ClearJob(IScheduler inScheduler)
{
_log.Info("--------开始讲任务暂停--------");
string[] groups = inScheduler.TriggerGroupNames;
for (int i = 0; i < groups.Length; i++)
{
String[] names = inScheduler.GetTriggerNames(groups[i]);
for (int j = 0; j < names.Length; j++)
{
inScheduler.UnscheduleJob(names[j], groups[i]);
}
}
_log.Info("开始删除相关工作");
}
public void Job()
{
try
{
scheduler = GetScheduler();
JobDetail rewardJobDetails = new JobDetail("RewardDo", typeof(RewardJob));
SimpleTrigger rewardDoTrigger = new SimpleTrigger("RewardDoTrigger",SimpleTrigger.RepeatIndefinitely , new TimeSpan(0, 0, 3));
scheduler.ScheduleJob(rewardJobDetails, rewardDoTrigger);
scheduler.Start();
}
catch (Exception ex)
{
Console.WriteLine("发生了异常!" + ex.Message);
throw ex;
}
}
}
}
Demo 下载:https://files.cnblogs.com/Music/TestQuartzDemo.rar
进阶篇之挂载到 Windows 服务
1.
谢谢浏览!
作者:音乐让我说(音乐让我说 - 博客园)
出处:http://music.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
浙公网安备 33010602011771号