Quartz.NET 轻松实现定时删除数据库数据

30 10月

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2011/10/30/quart_deldata/

Quart是java环境下的任务调度系统,比起原始的数据库触发器标志和独立的调度器线程来说,这个开源的任务调度系统好用了不知道多少倍。最近部门的一个伙伴做了一个投票系统,投票是通过IP限制实现的,IP地址保存在数据库中,需要每天零时删除IP记录。

系统是Asp.net的,本来想弄个Timer,但是老觉得不怎么放心,所以暂时改成手动了。

 

最近投票弄完了闲下来研究了一下,发现有个.net环境下的Quart:
Quart.Net

从官方主页可以看到这个东西是从Quart移植过来的,就Down下了试了一下,发现用着很顺手。

 

我使用的是1.03版的。

引用Quartz.dll,新建一个类MyJob,并实现接口IJob,在public void Execute(JobExecutionContext context)方法中添加对数据库数据删除的相关代码。

新建一个Global文件,在Application_Start中添加一下代码:

 

ISchedulerFactory factory =new StdSchedulerFactory();
IScheduler scheduler = factory.GetScheduler();
scheduler.Start();
JobDetail job =new JobDetail("MyJob",typeof(MyJob));
CronTrigger trigger =new CronTrigger();
trigger.CronExpressionString ="0 0 0 * * ?";
trigger.Name ="MyJob";
scheduler.ScheduleJob(job, trigger);

注意:因为定时任务依附于Application,所以不要忘记IIS的自动回收,20分钟就会回收一次。比较保险的办法就是再启动一个任务,间隔15分钟访问一次网站。

当然也可以修改IIS设置,不过不推荐。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2011/10/30/quart_deldata/

发表评论

电子邮件地址不会被公开。