windows 服务实现定时任务调度

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与c#应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的c#组件。Quartz的最新版本为Quartz 2.3.2。

Quartz是一个完全由java编写的开源作业调度框架。不要让作业调度这个术语吓着你。尽管Quartz框架整合了许多额外功能, 但就其简易形式看,你会发现它易用得简直让人受不了!简单地创建一个实现org.quartz.Job接口的java类。Job接口包含唯一的方法:

public void execute(JobExecutionContext context)
throws JobExecutionException;

在你的Job接口实现类里面,添加一些逻辑到execute()方法。一旦你配置好Job实现类并设定好调度时间表,Quartz将密切注意剩余时间。当调度程序确定该是通知你的作业的时候,Quartz框架将调用你Job实现类(作业类)上的execute()方法并允许做它该做的事情。无需报告任何东西给调度器或调用任何特定的东西。仅仅执行任务和结束任务即可。如果配置你的作业在随后再次被调用,Quartz框架将在恰当的时间再次调用它。

public partial class Service1 : ServiceBase{public Service1(){InitializeComponent();}protected override void OnStart(string[] args){//todo:这里是服务启动所执行的代码}protected override void OnStop(){//todo:这里是服务停止所执行的代码}}
private void StartDoSomething(){System.Timers.Timer timer = new System.Timers.Timer(10000); //间隔10秒timer.AutoReset = true;timer.Enabled = false;  //执行一次timer.Elapsed += new ElapsedEventHandler(ExecutionCode);timer.Start();}private void ExecutionCode(object source, System.Timers.ElapsedEventArgs e){string dtNow = DateTime.Now.ToString("HH:mm");if (dtNow == "12:00"){File.WriteAllText("D:/ExecutionService.txt", "服务执行了一次任务", Encoding.UTF8);}}
      protected override void OnStart(string[] args){StartDoSomething();}   

以上就可以算是一个简单的定时执行任务的windows服务。

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

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

相关文章

ios gb2312转utf-8

2019独角兽企业重金招聘Python工程师标准>>> 靠,想写个爬虫功能,结果一直是乱码,终于找到了转码的方法了 (NSString *) gb2312toutf8:(NSData *) data{ NSStringEncoding enc CFStringConvertEncodingToNSStringEncoding(kCFStr…

数学特级教师:数学除了做题目,我还必须让他们看这些!

▲ 点击查看很多时候,我们把数学简单的归为算数,归为计算能力,但数学更多的是一种培养逻辑思维能力的方式。包括一元二次方程、或者向量,或者几何证明。而在我们传统的数学课上,更多的是通过做题来理解数学知识&…

烟袋斜街-后海,印象已模糊

上个周末和猪头,廖廖一起去的。大家都神往已久,但是从未去过,这次一并去了,了却心愿。我不在北京,神往但是不能前去自然可以理解,但是他们两个已经在北京生活了六年,向往了六年,路程…

laya 怎么生成签名_PHP开发API接口签名生成及验证

开发过程中,我们经常会与接口打交道,有的时候是调取别人网站的接口,有的时候是为他人提供自己网站的接口,但是在这调取的过程中都离不开签名验证。我们在设计签名验证的时候,请注意要满足以下几点:可变性&a…

为啥 .NET 自带的 JsonSerializer 无法序列化 Field ?

咨询区 Theyouthis:最近我将项目升级到 .NET Core 3 之后,我发现自带的 System.Text.Json.JsonSerializer 序列化器有一个奇葩的问题,它不支持对 类字段 的序列化。。。参考如下代码:namespace ConsoleApp6 {class Program{static…

Windows下MinGW编译vim7.4

学习了一段时间Vim,感觉有些功能真的很方便。因学习原因,工作平台更换到一台老式Xp电脑上,重新安装了Vim7.4。官网默认版本不支持等宽字体和GDI渲染,需要手工编译一个修改过的版本。 1、下载MinGW 直接从MinGW官网下载的是在线安装…

告别 ROR windows 部署的噩梦-在 windows 上面 使用 Apache 部署 Ruby On Rails

今天去赛博把给朋友做的网站部署一下,服务器是一台windows2003的服务器。本身没想到在windows2003上面配置 ROR 是一场噩梦,因为网上看到了很多的 IIS 和 ROR 文档。不做不知道,一做才知道那简直是噩梦。忙到下午5点多还是没有配置好&#xf…

除了中国,原来还有这么多国家采用十二生肖的啊~| 今日最佳

世界只有3.14 % 的人关注了青少年数学之旅一、肥宅快乐水(qiu?)A岛-匿名版二、永远不轻言放弃知识冷知识青年 图片五目马丁饭三、终于知道怎么倒立问了冷知识日报社四、千万不能浪费文医疗音乐手绘君五、世界上所有采用十二生肖的国家冷知识日…

命中率_数据说话!詹姆斯的“皇家射手团”命中率为近十年最低

北京时间10月13日,湖人球员丹尼格林更新个人社交媒体,发布自己与奥布莱恩杯的合影等,并配文“随你怎么说,我又多了一样你拿不走的东西”。格林晒出自己与杜德利、詹姆斯的合影。此前,格林因为在NBA总决赛G5中未能命中极…

.net core 微服务下的手工签名实现,以及消除中文乱码

最近在实现一款业主签字的需求,签字前端由vue下的某个共享组件实现,其采用Canvas绘图方式实现签名图片的生成,后台主要提供签名前文档的呈现,以及签名后文件合成过的签名文档保存。FastReport报表生成器FastReport .NET是适用于.N…

高性能通道

高性能通道 http://detail.1688.com/offer/896868540.html https://www.datastoragecables.com/qsfp/qsfp-qsfp/qsfp-qsfp-ib/C9494-M-IB.html【infiniband】 http://pkg-ofed.alioth.debian.org/howto/infiniband-howto.html#toc6【infiniband-ib】posted on 2013-10-28 21:26…

清华学霸直博简历火了!CPU、操作系统、编译器全自主写,刘知远点赞

全世界只有3.14 % 的人关注了青少年数学之旅清华大学直博面试的一则简历上了知乎热榜:“实现了在自己写的CPU上运行自己写的操作系统,以及自己实现的编译器生成的程序”。简历主人是清华计算机系本科生周聿浩同学,他顺利拿到直博名额&#xf…

mysql索引有几种使用索引的好处_mysql索引的类型和优缺点

mysql索引的类型和优缺点索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。注:[1]索引不是万能的!索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录…

使用Blazor开发内部后台(一):认识Blazor

转载技术社区中一位朋友最新的文章,介绍自己为公司的 WebForm 遗留系统使用 Blazor 重写前端 UI 的经历。前言啊,又好久没写文章了,这一年一直在接触新的领域,扩展了一下技术面,学了很多新东西。前阵子发现公司内部有个…

[新手学go]关于go语言中的变量重复声明

代码一: package mainimport ("fmt" )func main() {a,b :1,2 a,b : 3,4fmt.Println(a, b) } 代码二: package mainimport ("fmt" )func main() {a, b : 1, 2k, b : 3, 4fmt.Println(a, b, k) //1,4,2 } 代码…

全球科技界最鼓舞人心领袖揭晓!马斯克第一,马云第五

全世界只有3.14 % 的人关注了青少年数学之旅谁是科技界最鼓舞人心的领袖?最近技术招聘网站Hired对3600多名技术人员进行了调查,最终马斯克击败贝佐斯、纳德拉、扎克伯格等人成功当选,马云排名第五。SpaceX被评为全球私人公司中第二大最受欢迎…

设置mysql表myisam_mysql myisam 优化设置设置

mysql myisam 优化设置设置更新时间:2010年03月16日 21:28:24 作者:mysql myisam 优化设置设置,需要的朋友可以参考下。myisam_max_[extra]_sort_file_size足够大delay_key_write减少io,提高写入性能bulk_insert_buffer_sizeconcurrent_ins…

隐藏文件始终不能显示的完美解决方法

我的电脑"——“工具”——“文件夹选项”——设置“显示所有文件和文件夹”后,系统仍然自动设置为“不显示隐藏的文件和文件夹”,无法看到隐藏文件。解决方法: 打开注册表hkey_local_machine\softwaer\microsoft\windows\currentversio…

NET问答: 为什么 String.IndexOf 在 .net5 和 netcore3 中返回值不一样?

咨询区 Farhad Zamani:当我在 .NET Core 3.1 中运行下面代码的时候,程序会返回 6。class Program{static void Main(string[] args){// .NET Core 3.1string s "Hello\r\nworld!";int idx s.IndexOf("\n");Console.WriteLine(idx)…

vSpere虚拟网卡介绍

在一个物理网络拓扑中,通常都是路由器-交换机-PC机的连接,不同的服务器和PC机,通过交换机的连接而相互连通。在VMwarevSphere架构下服务器会虚拟出交换机来供ESXHost虚拟机来使用,虚拟交换机有两种,vSwitch虚拟交换机和…