Quartz.net使用笔记

一、需求场景:每天固定时间执行某个行为/动作。

  一开始想用定时器,后来无意间发现了这个插件,感觉功能太强大了,完美解决了我的问题。

二、下载地址:https://www.quartz-scheduler.net/

  也可以在项目中直接使用nugut进行下载

三、使用方法

  1.将刚才下载的热乎乎的dll引入到你的项目中

  2.先写你想定时执行的任务

1         public class ModifiyStateJob : IJob
2         {
3             Task IJob.Execute(IJobExecutionContext context)
4             {
5                 Console.WriteLine("现在的时间是--{1}", DateTime.Now.ToString());
6                 return null;
7             }
8         }

  3.用Quartz设置在每天的19:53执行该任务

 1         public static async Task ListenTime()
 2         {
 3             try
 4             {
 5                 // Grab the Scheduler instance from the Factory
 6                 NameValueCollection props = new NameValueCollection
 7                 {
 8                     { "quartz.serializer.type", "binary" }
 9                 };
10                 StdSchedulerFactory factory = new StdSchedulerFactory(props);
11                 IScheduler scheduler = await factory.GetScheduler();
12 
13                 // and start it off
14                 await scheduler.Start();
15 
16                 // define the job and tie it to our HelloJob class
17                 //
18                 IJobDetail job1 = JobBuilder.Create<TimeJob>()
19                     .WithIdentity("job1", "group1")
20                     .Build();
21 
22 
24                 //每天的19点53分执行  时间的顺序是秒 分 小时 不要写错哦
25                 ITrigger trigger1 = TriggerBuilder.Create()
26                     .WithIdentity("trigger1", "group1")
27                     .StartNow().WithCronSchedule("0 53 19 * * ?")
28                     .Build();
29 
30                 // Tell quartz to schedule the job using our trigger
31                 await scheduler.ScheduleJob(job1, trigger1);
32 
33                 // some sleep to show what's happening
34                 // await Task.Delay(TimeSpan.FromSeconds(60));
35 
36                 // and last shut down the scheduler when you are ready to close your program
37                 //   await scheduler.Shutdown();
38             }
39             catch (SchedulerException se)
40             {
41                 Console.WriteLine(se);
42             }
43 
44 
45         }

  4.在入口处进行调用

1         static void Main(string[] args)
2         {
3             ListenTime().GetAwaiter().GetResult();
4             Console.Read();
5         }

  5.效果(如果程序不关,则每天的19:53分都会运行该程序,在控制台进行打印)

   备注:自己最近写的一个表达式,

                //周一到周五 9点到18点,每一小时执行一次ITrigger trigger1 = TriggerBuilder.Create().WithIdentity("trigger1", "group1").StartNow().WithCronSchedule("0 0 9-18/1 ? * MON-FRI").Build();

写在后面的话:我只是用了Quartz的一个小功能,无论你是想固定时间执行任务,还是间隔多长时间执行任务等等,Quartz.net都能满足你的需求,只要按照指定的规则编写就可以啦。

转载于:https://www.cnblogs.com/jas0203/p/10158546.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS里面的懒加载(lazyload)

懒加载技术(简称lazyload)并不是新技术, 它是js程序员对网页性能优化的一种方案.lazyload的核心是按需加载 涉及到图片&#xff0c;falsh资源 , iframe, 网页编辑器(类似FCK)等占用较大带宽&#xff0c;且这些模块暂且不在浏览器可视区内,因此可以使用lazyload在适当的时候加载…

远程拷贝 linux服务器,linux scp 服务器远程拷贝(示例代码)

一、将本机文件复制到远程服务器上#scp /home/administrator/news.txt [email protected]:/etc/squid/home/administrator/ 本地文件的绝对路径news.txt 要复制到服务器上的本地文件root 通过root用户登录到远程…

对偶图小结

前提 通常对偶图建立在平面图之上 平面图&#xff1a;单边除端点外无交点 解决范围 求平面图的最大流 做法 平面图显然在边的基础上分成了若干个块&#xff0c;每个块由一个结点来维护 在边缘出与源点汇点联通&#xff0c;中间处结点之间相互联通 连的边容量为该边穿过原图的边…

将Java 8支持添加到Eclipse Kepler

是否想向开普勒添加Java 8支持&#xff1f; Java 8尚未加入我们的标准下载包中 。 但是您可以将其添加到现有的Eclipse Kepler软件包中。 我有运行Java 8的三种不同的Eclipse安装&#xff1a; 面向Java开发人员的Eclipse IDE的全新Kepler SR2安装&#xff1b; 为RCP / RAP开…

CSS基础【1】:体验CSS

CSS起源 web的衰落&#xff1a;在 web 早期&#xff08;1990-1993&#xff09;,html是一个很局限的语言。几乎完全由用于描述段落&#xff0c;超链接&#xff0c;列表和标题的结构化元素组成。随着万维网的出现&#xff08;用户交互体验的加强&#xff09;&#xff0c;对 html …

JS中的兼容问题总结

今天总结总结在JS里面遇到的兼容性问题 1.获取滚动距离的兼容性问题: document.documentElement.scrollTop || document.body.scrollTop &#xff08;兼容IE&#xff09; 2.获取非行间样式 getComputedStyle(元素,false)[attr] || 元素.currentStyle[attr] 3.索引…

linux网络唤醒,如何在Ubuntu Server 18.04中启用网络唤醒(WOL)

网络唤醒(WOL)是一种行业标准协议&#xff0c;用于远程唤醒服务器。如果您管理着很多设备&#xff0c;因此不需要为了唤醒服务器而去数据中心。启用允许您远程执行此操作的功能&#xff0c;这样您可以更高效地工作。Ubuntu 系统默认没有启用WOL&#xff0c;所以我们要设置它。我…

php 分页处理

1、利用bootstrap的css框架的前提下&#xff0c;封装个Php的分页框架 命名为test.php&#xff0c;具体代码如下 1 <?php2 class Pagination3 {4 private $cfg;5 private $content ; //分页导行条内容部份6 7 public function __constr…

ActiveMQ –经纪人网络解释

目的 这个由7部分组成的博客系列将分享有关如何创建ActiveMQ代理网络以实现高可用性和可伸缩性的信息。 为什么要建立经纪人网络&#xff1f; ActiveMQ消息代理是企业中消息传递基础结构的核心组件。 它需要高度可用并且可以动态伸缩&#xff0c;以促进具有不同容量需求的动态…

13 创建高级联结

13.1 使用表别名 在之前的例子中&#xff0c;我们用的都是用的列别名&#xff0c;SQL还允许给表名起别名。 13.2 使用不同类型的联结 我们在上一章使用的只是称为内部联结或等值联结&#xff08; equijoin&#xff09; 的简单联结&#xff0c;现在来看3种其他联结&#xff0c;…

JS中undefined和null的区别,以及出现原因

区别&#xff1a;null是一个表示无的对象&#xff0c;转换为数值为0&#xff1b; undefined表示一个无的原始值&#xff0c;转化为数值为NAN&#xff08;与任何数字相加也为NAN&#xff09; undefined出现原因&#xff1a;(口诀&#xff1a;一变量二函数一对象) 1.变量被声明了…

判断一个数是不是质数

number int(input("请输入数字&#xff1a;"))count 2while count < number -1: if number % count 0: #质数是除了1和它本身能除尽。将这个数从2开始除&#xff0c;除到number-1&#xff0c;如果有除尽的就不是质数&#xff0c;如果没有就是质数。…

Java 8:功能接口示例

为了支持Java 8中的lambda表达式&#xff0c;他们引入了Functional Interfaces。 具有单一抽象方法的接口可以称为功能接口。 Runnable&#xff0c;Comparator&#xff0c;Cloneable是功能接口的一些示例。 我们可以使用Lambda表达式实现这些功能接口。 例如&#xff1a; Th…

正则表达式验证问题(用户名、密码、email、身份证

实现的代码如下&#xff1a; 1 <html>2 <head>3 <meta charset"UTF-8">4 </head>5 <body>6 <p>用户名正则表达式 &#xff0c;4到16位&#xff08;字母&#xff0c;数字&#xff0c;下滑线&#xff0c;减号&#xff09;</p&g…

MySQL协议分析(1)

MySQL协议分析 此阶段的协议分析是在未压缩未加密情况下的协议分析 思路&#xff1a; 结合Oracle官网和自己用wireshark抓的网络数据包进行协议分析 官网说明 mysql包共分为4段&#xff0c;格式如下&#xff1a; 第一段&#xff1a;payload&#xff08;通常是执行的SQL语句&…

linux raw socket 例子,raw socket编程例子

raw socket编程例子内容安排:1.原始套接字介绍1.1 原始套接字工作原理与规则1.2 简单应用2 FTP密码窃取器实现(简单的rootkit)2.1 设计思路2.2 实现2.3 不足与改进之处开始,嗯,喝口茶水先...........1.原始套接字(raw socket)1.1 原始套接字工作原理与规则原始套接字是一个特殊…

谨慎使用Hibernate中的本机SQL

我真的很喜欢Hibernate&#xff0c;但我也不知道同时具备强大功能和欺骗性的工具。 我可以写一本书&#xff0c;讲述仅与Hibernate相关的生产和货物崇拜编程中的意外情况。 与用户相比&#xff0c;与工具相比&#xff0c;这更多的是问题&#xff0c;但请不要让它过于保修。 所…

js 编辑数组

删除数组第一个元素使用var length arr.shift(); 删除arr的第一个元素后, 返回值是删除后的数组长度 删除数组最后一个元素使用var length arr.pop(); 删除arr的最后一个元素后, 返回值是删除后数组的长度 在数组开头添加元素使用var length arr.unshif…

tensorboard运行

终端中进入存放even文件的文件夹的上一步&#xff0c;然后&#xff0c;输入tensorboard --logdir存放even文件的文件夹 转载于:https://www.cnblogs.com/wzwi/p/10931397.html

DevExpress WPF v18.2新版亮点(五)

买 DevExpress Universal Subscription 免费赠 万元汉化资源包1套&#xff01; 限量15套&#xff01;先到先得&#xff0c;送完即止&#xff01;立即抢购>> 行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布&#xff0c;本站将以连载的形式…