在网上看到别贴的话,要想成为技术高手就需要多多的看看别人的代码,理解别的思想,看开源项目就是一个不错的选择。说实话我太想成为技术高手,但是自己悟性太差,半天弄不明白理解不了别人写的代码,为了提高自己的阅读能力,希望自己坚持看完quartz2.0这个开源的项目,顺便也锻炼一下自己写博客的水平。
简单介绍:官网:http://quartznet.sourceforge.net/
Quartz有时钟的意思,也特别贴切这个开源的任务调度项目.
官方上说Quartz.NET是一个全功能的开源作业调度系统,从最小的应用程序,可用于大型企业系统。
个人简单理解Quartz就是定时或者指定时间执行自己写的job,既然是自己的任务,哪肯定是写的了。
用法功能:先简单的看个例子,看下Quartz是怎么执行自己写的job的。
1.首先呢先定义自己的job,只需要继承Quartz中的IJob接口就好,代码相当简单,没必要多说了:
public classMyJob :IJob
{
public void Execute(IJobExecutionContextcontext)
{
Console.Write("我执行了,时间:{0}",DateTime.Now);
}
}
2.job有了,我想用Quartz执行它,怎么弄呢?
static void Main(string[] args)
{
//调度器
ISchedulerFactorysf =newStdSchedulerFactory();
ISchedulersched = sf.GetScheduler();
//job详情
IJobDetailmyJob = JobBuilder.Create<MyJob>()
.WithIdentity("job1","group1")
.Build();
//触发器
ITriggertrigger = TriggerBuilder.Create()
.WithIdentity("trigger1","group1")
.StartNow()//立即执行
.Build();
//关联job和触发器
sched.ScheduleJob(myJob, trigger);
//执行
sched.Start();
Console.Read();
//关掉
sched.Shutdown(true);
}
3.运行看下结果,果然执行了,哈哈。
结语:不管怎么样,反正今天了解到了Quartz是个什么东东,怎么写下简单的代码用起来,收获不多,继续努力,同样疑问也不少,调度器是啥,触发器是……
代码:
- using System;
- using Quartz.Impl;
- namespace Quartz.Demo
- {
- class Program
- {
- static void Main(string[] args)
- {
- //调度器
- ISchedulerFactory sf = new StdSchedulerFactory();
- IScheduler sched = sf.GetScheduler();
- //job详情,注意MyJob
- IJobDetail myJob = JobBuilder.Create<MyJob>()
- .WithIdentity("job1", "group1")
- .Build();
- //触发器
- ITrigger trigger = TriggerBuilder.Create()
- .WithIdentity("trigger1", "group1")
- .StartNow()//立即执行
- .Build();
- //关联job和触发器
- sched.ScheduleJob(myJob, trigger);
- //执行
- sched.Start();
- Console.Read();
- //关调
- sched.Shutdown(true);
- }
- }
- public class MyJob : IJob
- {
- public void Execute(IJobExecutionContext context)
- {
- Console.Write("我执行了,时间:{0}", DateTime.Now);
- }
- }
- }
相关推荐
教程地址:http://blog.csdn.net/hao_ds/article/details/42418603
作业是一个执行任务的简单.NET类。只需实现Quartz.IJob接口,IJob接口包含唯一的一个方法Execute(),作业从这里开始执行。一旦实现了IJob接口和Execute ()方法,当Quartz.NET确定该是作业运行的时候,它将调用作业。...
内置操作类,引用DLL后,直接调用操作类的方法即可,使用方便
Quartz.NET-2.1.2 官方包
Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中。 这个是quartz.net 2.0.1。 注意:从quartz.net 2.0开始,不支持.net 2.0,仅支持.net 3.5...
本文使用一系列代码示例介绍 Quartz.NET API,演示它的机制,例如作业、触发器、作业仓库。 Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net...
Quartz.NET 官方源码及演示例子,官方下载地址:http://sourceforge.net/projects/quartznet/files/quartznet/
quartz.net+TopShelf
Quartz.net 任务调度数据库持久化和集群;持久化能保证实例重启后job不丢失、 集群能均衡服务器压力和解决单点问题
Autofac.Extras.Quartz, Quartz.Net的Autofac集成 Autofac.Extras.Quartz用于 Quartz.Net的Autofac集成包。Autofac.Extras.Quartz 为每个石英作业创建嵌套的litefime作用域。 完成作业执行后释放嵌套作用域。这允许...
Quartz.net-几十分钟后执行代码
C# 使用Quartz.NET作业调度的简单Windows服务事例。
根据网上的教程,做了一个最简单的quartz.net运行例子,即每隔几秒向txt中写入数据: 2015-05-10 20:14:43.397 : 【HelloJob Executed】 **** Job group1.myJob fired @ Sun, 10 May 2015 12:14:43 GMT next ...
Quartz.NET+TopSelf 实现定时服务,支持Job持久化和集群,异常重启 介绍:https://blog.csdn.net/qq_27559331/article/details/105067550 如果你觉得对你有用,麻烦你给个好评!
Quartz.NET是一个开源的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,它用C#写成,可用于winform和asp.net应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂...
C# Quartz.Net定时任务操作明细、完整过程 每种场景均有涉及,代码Copy稍作修改就可使用
C# quartz.net 定时任务源码,实现了远程操控.动态追加dll,可以安装到windows服务中.
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵 活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,...
Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的...
Quartz.NET 官方源码