Quartz.Net实现原理及使用方法详解

 更新时间:2022年02月07日 11:06:26   作者:David Huang  
这篇文章主要介绍了Quartz.Net实现原理及使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

调度器(scheduler)必须在实例化之后才能使用(谁能想到呢?)。你可以通过一个ISchedulerFactory接口的实例来实现它。

实例化调度器(scheduler)后,可以启动、处于待机模式或者关闭。注意,一个调度器(scheduler)一旦被关闭,它必须被重新实例化才可以再次启动。直到调度器(scheduler)启动,触发器(Triggers)才会被触发(执行任务(job)),但处于暂停模式的触发器(trigger)不会被触发。

这里有一段简单的代码,实例化了一个调度器(scheduler)并启动了它,还调度了一个任务(job)去执行。

使用 Quartz.NET

 // construct a scheduler factory 构造一个scheduler工厂
  NameValueCollection props = new NameValueCollection
  {
    { "quartz.serializer.type", "binary" }
  };
  StdSchedulerFactory factory = new StdSchedulerFactory(props);
  
  // get a scheduler 获取一个scheduler
  IScheduler sched = await schedFact.GetScheduler();
  await sched.Start();
  
	// define the job and tie it to our HelloJob class 定义一个job,与HelloJob类关联
	IJobDetail job = JobBuilder.Create<HelloJob>()
		.WithIdentity("myJob", "group1")
		.Build();

	// Trigger the job to run now, and then every 40 seconds 触发任务马上执行,并且每40秒执行一次
	ITrigger trigger = TriggerBuilder.Create()
   .WithIdentity("myTrigger", "group1")
   .StartNow()
   .WithSimpleSchedule(x => x
     .WithIntervalInSeconds(40)
     .RepeatForever())
   .Build();
	 
  await sched.ScheduleJob(job, trigger);

如你所见,使用 Quartz.NET 非常简单。之后我们会给出一个关于任务(Jobs)和触发器(Triggers)的快速概览,方便你更好地理解这个例子。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C#键值对容器的介绍

    C#键值对容器的介绍

    C#键值对容器的介绍,需要的朋友可以参考一下
    2013-05-05
  • C#实现UI控件输出日志的方法详解

    C#实现UI控件输出日志的方法详解

    一般情况下,我们的日志文件是用来记录一些关键操作或者异常,并且是后台存储,并不对外开放的,但是也有些时候,需要将一些操作步骤、记录等直接显示在窗体上。本文就将利用UI控件输出日志效果,需要的可以参考一下
    2022-10-10
  • C#8 的模式匹配实现

    C#8 的模式匹配实现

    这篇文章主要介绍了C#8 的模式匹配实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • C#委托delegate实例解析

    C#委托delegate实例解析

    这篇文章主要介绍了C#委托delegate实例解析,对C#的委托做了较为深入的剖析,很适合初学者学习,需要的朋友可以参考下
    2014-08-08
  • C# SendMail发送邮件功能实现

    C# SendMail发送邮件功能实现

    这篇文章主要为大家详细介绍了C# SendMail发送邮件功能实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • 理解C#中的事件

    理解C#中的事件

    这篇文章主要介绍了理解C#中的事件,本文讲解了使用委托中的问题、事件的出现、深入理解事件、C#属性的概念、事件代码的转换等内容,需要的朋友可以参考下
    2015-02-02
  • C# 屏蔽由于崩溃弹出的windows异常弹框

    C# 屏蔽由于崩溃弹出的windows异常弹框

    这篇文章主要介绍了C# 屏蔽由于崩溃弹出的windows异常弹框,需要的朋友可以参考下
    2017-08-08
  • 详解从零开始---用C#制作扫雷游戏

    详解从零开始---用C#制作扫雷游戏

    这篇文章主要介绍了详解从零开始---用C#制作扫雷游戏,非常具有实用价值,需要的朋友可以参考下
    2017-06-06
  • c# 删除所有的空文件夹的小例子

    c# 删除所有的空文件夹的小例子

    c# 删除所有的空文件夹的小例子,需要的朋友可以参考一下
    2013-03-03
  • C#时间格式转换为时间戳的方法步骤

    C#时间格式转换为时间戳的方法步骤

    这篇文章主要介绍了C#时间格式转换为时间戳的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论