Quartz.NET(作业调度框架) 学习笔记(一)【了解作业调度框架】

时间:2021-08-01 08:08:01

1什么是作业调度

1.“作业”,当听到这个词,就会想到上学的时候,老师给我们布置的作业,要求我们什么时候交作业,这个老师布置的作业,我们什么时候作,不用去关心,只要到交作业的时候,能完成就ok。

2.在技术上,作业这个术语,比如说, 用户/程序员提交一叠穿孔卡片或者纸带(上面描述了一个作业)给操作人员,由操作人员帮忙执行那些作业。用户等待作业执行完后,回到主机那边取自己的卡片和打印出来的输出结果

 

3.因为不是每一个作业要求立即被执行,所以作业可以被安排在将来的某个时候执行。比如说,一个系统管理员每周可能有一份要执行的作业列表:

周三  公司活动,给每个员工发份邮件通知

周五  将公司考勤机的数据导入数据库

周六  将公司数据库备份

4. 作业调度通常是指运行一个批量的作业或称之谓批处理。这种批处理作业一般都是放在后台运行并且不需要与用户交互。现在,显著增多的多样性的任务已代替了早先的批量作业。在一个大的组织中每天的每小时跑上百个作业已属普遍。并且作业的规模与复杂性仍在持续的上扬,因此批量作业和作业调度器也就随需应生

2.作业调度的优势

1.随着业务流程复杂性的提升,自动化流程也更能显现出它的有益之处来,人的精力有限,一天很多任务的时候,我们难免会犯错,那么创建作业调度器,到时这个作业就会自动执行了。相对于人的手工处理,我们可以减少大多数的出错机会。

 

2. 所以我们能着实的说通过作业调度那样自动化处理相对于手工来说,至少为我们提供了以下三个优点:

    ·资源使用效率更高

    ·更少的出错机率

    ·更高的伸缩性

3企业应用中的作业调度

定时操作

许多网站(不管是商业的还是别的)允许用户提供用户名和密码注册一个帐户。出于安全考虑,一个好的做法是让用户密码每隔一段时间过期失效,比如说90天的周期。这种情况下,你可以创建一个作业,让它每天午夜运行一次,并且向离过期时间不到三天的所有用户发邮件提醒。这里可以恰到好处的用到作业调度器

 

创建销售报表

公司经营由盈亏账目所驱动,其中一个很重要的事情就是经营管理者和财务人员需要拿到最终收入和毛利数据进行分析。抽取销售报表数据可能非常的慢并且很耗资源,因为这通常需要联合多个表从中查询出上千条记录。一个更好的解决途径是在晚上计帐和计价结束后,运行一个作业,让它去生成一些临时表或视图为报表程序所用。创建临时表或视图的方式,使报表生成更具动态特性,而且用户也用不着平白去等待报表的生成。

非企业应用中的作业调度

1.Quartz 对于许多非企业环境的应用也是很有帮助的。例如,假定你有一个独立的应用程序,事件是基于时钟而不是鼠标的点击激发的。这时候你就可以把Quartz构建到这个应用程序中来,并且安排事件能周期性的被触发

2.手机的闹钟功能,可以设置到周一到周五早上8点,这就是一个很好的例子,只要一次设置好,就能按照设置周期性的触发。

4.如何使用作业调度

.Quartz 使用之前配置

1.目前Quartz的api最新版本2.0 不在支持.NET 1.1和2.0,需要Quartz.net 2.0至少需要.NET 3.5 SP1,是由于采用了新的语言特性和类接口

 2.下载Quartz 2.0的官方地址http://quartznet.sourceforge.net/download.html

3.使用vs2010应用Quartz.dll时 要将项目属性目标框架改为.net Framework3.5 编译才会通过。