需求描述:首页有一部分数据需要在某个时间段内每隔一分钟从数据库读出,首页的访问量太大,实时从数据库取很耗数据库资源,我的解决方案是:在首页通过几个 include 小html文件,这里只需要用Quartz每隔一分钟从数据库读出这些数据并生成HTML代码. 代码如下:
using Quartz.Listener;
using Quartz;
using System.Collections;
using Model;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Quartz.Impl;
using System;
namespace DataBLL
{
public class CustomJob : IJob
{
public void Execute(JobExecutionContext context)
{
try
{
ProcesIndex.IndexDDE();//
LogHelper.WriteLog(DateTime.Now.ToLongTimeString() + "执行更新成功");
}
catch (Exception e)
{
LogHelper.WriteLog(DateTime.Now.ToLongTimeString()+"执行更新首页数据失败!\n"+e.Message);
}
}
}
public class MyTriggerRunner
{
public virtual void Run()
{
//获取一个调度工厂
ISchedulerFactory sf = new StdSchedulerFactory();
IScheduler sched = sf.GetScheduler();
//System.DateTime ts = TriggerUtils.GetNextGivenSecondDate(null, 15);
JobDetail job = new JobDetail("job1", "group1", typeof(CustomJob));
//SimpleTrigger trigger = new SimpleTrigger("trigger1", "group1");
CronTrigger trigger = new CronTrigger("trigger1", "group1", "job1", "group1");
////设定启动时间
//trigger.StartTime = ts;
////设置每隔10秒运行
//trigger.RepeatInterval = 10000;
////设置总共运行次数
//trigger.RepeatCount = 100;
//表达式表示:每周一至周五早上九点至下午三点之间每分钟执行一次
trigger.CronExpressionString = "0 0/1 9-15 * * ?";
sched.AddJob(job, true);
DateTime ft = sched.ScheduleJob( trigger);
//启动作业调度任务
sched.Start();
}
}
}
}
还需要最重要的一步,在main方法里调用 MyTriggerRunner.run();
分享到:
相关推荐
C# 使用Quartz.NET作业调度的简单Windows服务事例。
C# Quartz.Net定时任务操作明细、完整过程 每种场景均有涉及,代码Copy稍作修改就可使用
Quartz定时任务
Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等,本资源为Quartz.net C#Demo
C# quartz.net 定时任务源码,实现了远程操控.动态追加dll,可以安装到windows服务中.
quartz简单实例quartz简单实例quartz简单实例quartz简单实例
spring-quartz简单实例 简单的quartz定时任务实例代码
C# 控制台实现quart.net3.0.7和topshelf实现windows服务,参考了quart.net的例子进行改进,修改了日志使用工具类,可以直接拿来作为项目进行开发使用。
C#编写的定时任务, 开发环境vs2010, demo可以直接运行, 所需的dll依赖库在bin目录下
spring的quartz使用实例,spring的quartz使用实例
在 myeclipse6.0.1下调试成功可直接运行的spring的quartz的例子,很适合刚接触quartz调度学习。
我自己写的quartz实例,大家看看吧。!用的是sqlserver的连接!
使用dx quartz写的播放器 支持视频播放 歌词显示 界面采用梦梦的一款千千皮肤为原型 时间仓促 源代码没写注释
定时调用 Quartz.jar,实现定时调用
Quartz.net作业调度自定义定时执行任务多任务执行c#,定时执行任务,如超时取消订单,自动确认收货等等
Quartz.NET实例,Quartz管理类,功能点:动态改变周期
Quartz如何实现判断某个任务是否正在运行,在项目中用到的,已经测试过了,很好用,分享给大家
Quartz实例 helloworld
NULL 博文链接:https://javaeedevelop.iteye.com/blog/1540461
Quartz,shrio,权限