百度推广登录账号首页,驻马店百度seo,php做网站视频,厦门建设局长是谁概述 作业调度的目标在于按照预先确定的时间和指定的顺序来确保高效的数据处理流程#xff0c;从而最大限度的使用系统资源。批处理流程是一种在无需最终用户干预的方式下在后台通过顺序方式运行的操作。 Windows XP系统也自带了“任务计划”#xff0c;它是一个简单任务调度…概述 作业调度的目标在于按照预先确定的时间和指定的顺序来确保高效的数据处理流程从而最大限度的使用系统资源。批处理流程是一种在无需最终用户干预的方式下在后台通过顺序方式运行的操作。 Windows XP系统也自带了“任务计划”它是一个简单任务调度应用可以在“开始”-“所有程序”-“附件”-“系统工具”-“任务计划”里找到。如图1; 图1.Windows 的任务计划 Quartz.NET 是一个开源的作业调度框架它可以被在小型应用程序甚至是企业级的应用程序。它有如下几个特点 API 操作简单只要几行简单的代码你就可以在应用程序里面实现自己的作业调度并实时监视作业执行情况 触发器功能强大比 Windows 的任务计划提供更细的触发粒度你可以使用“Cron表达式后文将介绍”来实现如每周星期一到星期五 8:00am5:00pm工作时间 执行某一件任务 良好的可扩展性它基于接口编程你可以实现自己的 Schedule 调度器Job 作业以及 Trigger 触发器等 作业可以保存在 RAM 中也可以持久化到数据库支持多种数据库类型SqlServer、Oracle、MySql等 集群这是一个高级应用可以在多台计算机之间创建负载平衡、容错处理 使用 最新的版本是1.0 正式版有 Quartz.2008.sln 和 Quartz.Server.2008.sln分步式应用将在下面的系列分析 用 Visual Studio 2008 打开 Quartz.2008.sln 方案如图2 所示 图2. Quartz.NET解决方案 Quartz.NET是核心的 Quartz 库它的文件组织结构及作用如图3所示 图3.Quartz.NET文件组织结构 Quartz.NET 的文件组织结构并不遵循一定的规范比如“SPI” 文件夹存放调度器、作业、线程池接口最外层也放了很多接口如图3所示。但是大部分都可以直接辨别出来所以这不会对我们阅读代码造成很大的影响。 下面是一个 Quartz.NET 的简单例子 Code//初始化调度器工厂 ISchedulerFactory sf new StdSchedulerFactory(); //获取默认调度器 IScheduler scheduler sf.GetScheduler(); //作业 JobDetail job new JobDetail(计算作业, 组1, typeof(Job1)); //触发器 SimpleTrigger trigger new SimpleTrigger(触发器1, 触发器组1, 5, new TimeSpan(0, 0, 5)); //关联任务和触发器 scheduler.ScheduleJob(job, trigger); //开始任务 scheduler.Start(); 首先我们初始化一个标准的调度器工厂 StdSchedulerFactory 并用 GetScheduler() 方法创建一个调度器。下一步是声明一个作业对象 JobDetail它有3 个参数作业名称、作业组名称、作业的类型。接着实例化一个 SimpleTrigger 触发器对象SimpleTrigger 类有6 个构造函数上面例子的 4 个参数分别为触发器名称、触发器组名称、循环执行次数、执行间隔。调度器调用 ScheduleJob 方法把作业对象和触发器关联起来打开触发器就可以开始作业了。 要执行的作业 Job1 是实现了 IJob 接口的类IJob 接口只有一个简单的方法 Codevoid Execute(JobExecutionContext context) 每一个要执行的作业都要继承 IJob 接口并实现 Execute 方法。 下面是Job1 的定义 Codepublic class Job1 :IJob { private int i 0; public void Execute(JobExecutionContext context) { Console.WriteLine(i); } } 上面代码的执行结果是连续输出6 个1重复执行5次加上第一次执行一共6 次。 下一篇我将要介绍 Job 作业。 思想原理技术应用 参考文章 1.Microsoft 管理解决方案作业调度 2.Quartz.NET 目录Quartz.NET 架构与源代码分析系列下一篇Quartz.NET 架构与源代码分析系列 part 2 Job 作业 转载于:https://www.cnblogs.com/Doho/archive/2009/03/11/1408886.html