当前位置: 首页 > SEO博客 > 系统自动任务(后台job)使用的重要性及使用场景

系统自动任务(后台job)使用的重要性及使用场景

时间:2011-11-04 21:25:50
每天,大家都有一些例行工作要做,比如看邮件,回邮件,做报表等;对于一个B2C网站系统,也有一些任务要做,同步价格规则,获取优惠打折资源,以及时将产品价格变动显示。如果一些简单的任务,是由人来手工去做,每天都要重复去做,而效率又不高,在能定好规则的情况下,最好还是由软件系统来做比较好,这样就能节省人力时间成本,效率也高。

不同的操作系统,都内建有自己的任务管理系统。Windows有自己的任务计划管理系统,如图所示:

win7任务计划程序

而Linux则有cron job的任务计划管理程序。为了减少例行工作执行的枯燥,大家都可以利用好操作系统的这个功能,将自己的工作实施优化掉,提高自己的工作效率。

而对于程序中处理计划任务的情况,就要采用一个比较好用的框架了。在java界,有一个很好用的后台job的框架,那就是Quartz,它是一个开源的作业调度的自动任务框架,完全由Java写成,并设计用于J2SE和J2EE应用中。Quartz提供了强大的灵活性而不牺牲简单性。我们能用它来为执行一个作业而创建简单的或复杂的调度。Quartz有很多特征,例如:数据库支持,集群,插件,EJB作业预构建,JavaMail及其它,支持cron表达式等。

笔者集合平时一些网站维护和检测的想法,构思了一下Quartz的几个应用场景:

1,公司名下的网站是否能正常打开,不能则邮件通知,或者电话提醒。这个东西很实用,如果这个工作是由人工来做的,网站不多的情况下可以这么解决,但是多了的话,就不如做个自动的后台job来实现了,省时省力。

2,域名是否到期,如果是,则提前邮件通知。之前有个情况,就是客户的域名到期了,导致网站打不开,影响到公司的SEO团队的工作实施,影响很大,所以这个自动提醒的工作也是挺重要的。

3,SEOTcs中项目的参数信息定时保存及关键词排名的定时保存。我们的SEOTcs中每天上万个关键词的排名信息,以及几百个项目的参数信息,都是通过使用Quartz来实现的:

SEOTcs的自动任务进程

笔者曾经在苏宁易购做过一些后台job的程序,是关于商品的一些优惠规则,每天都有大量的优惠单使用规则,需要从异构的系统SAP中同步到苏宁易购的系统中去,所以还是需要有自动job来实现的。三期的时候是通过linux中cron job来实现的,后来,由于采用了IBM的wcs的b2c开发框架,其自带了一些自动任务的工具,所以能直接使用。

所以,总得来说,自动任务对于一个平台或系统来说,是非常重要的,实施的时候选择好采用的组件或框架,比如对于java工作者来说,Quartz是首选;然后根据后台job的工作量和实际需要来定义一下执行时间的频率,实施起来,不但会大大提供效率,而且还节省了不少人力,提高了平台执行工作的便捷性,比两个异构系统之间的多次交互的方式方便了不少,so,没使用过的那些开发者,赶紧试用吧。

 
分享按钮