Web中的定时操作1 什么是定时操作 有些时候我们想做一些在将来的事件内发生的事情的预订,例如,9月18号自动弹出警告,每周五自动查毒等,这都叫做定时操作。
2 普通的定时操作 在普通的开发环境中,定时操作的处理非常简单,可以使用操作系统自带的task功能来完成。当然最多还是做一个服务,服务中做一个定时器Timer对象,每当Timer被触发的时候做一些相关的操作。
3 Web中的定时操作常见的Web定时操作,以定时发送mail为例,假如系统要求能够向系统输入一个特定的将来的事件,在这个事件我们向对应的目标mail地址发送一封按照某个模板生成的mail。我们这里不分析发送mail的细节,我们只讨论怎么定时的发送mail。
3.1 Web应用程序的特点 Web应用程序运行在一个特定的web容器中,例如Tomcat或者Websphere,我们这里不WebSphere,Weblogic这些重量级的服 务器,应为这些服务器已经提供了功能非常强大的定期功能,只需要你去看文档照着操作就好了,这里我们主要讲解如何在开源类库的支持下完成这些操作。
上面说了Web应用程序运行在Web容器中,那么Web容器停止服务器之后,Web应用程序也就停止了,所以定时器不需持久化,即定发生的任务必须保存在数据库中。
我们回头考虑上面提到的定时发送mail的需求,那么就必须讲定时发送mail的记录保存在数据库中,那么需要把那些跟定时操作相关的信息保存在数据库中 呢?首先肯定是定时发送mail的时间,这个是肯定的,但是还有没有其他内容呢,对了,还需要一个关联的信息,如何通过这个定时记录联系到具体的业务。例 如这里需要有一个客户id字段,这样子才能联系到对应的客户。
3.2 如何定时发送 Web应用程序有一些特殊的接口,例如:Listener,这个接口的实现类在Web应用程序启动的时候会第一时间启动,而不需要用户通过IE等浏览器点 击操作。所以这个类是启动Timer的最佳位置。那么Timer其中之后放在哪里呢?放在Web应用程序的一个叫做Application的范围之内 (ServletContext Scope)。定时器设定完成了,这样你就可以在用户每次定义定时发送Mail的时候将定时信息放在数据库中即可,Timer会自动的遍历数据库中的内 容,发现事件匹配的时候就会调用具体的操作。
已有的Job Scheduler框架:
例如Quartz (http://www.opensymphony.com/quartz/)
分享到:
相关推荐
下面小编就为大家带来一篇quartz定时执行任务,并配置web.xml的操作方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
C# Quartz.Net定时任务操作明细、完整过程 每种场景均有涉及,代码Copy稍作修改就可使用
主要介绍了Java Web实现添加定时任务的方法,涉及java web定时任务控制类定义、调用及监听器定义、添加等相关操作技巧,需要的朋友可以参考下
Shutter Pro是一款非常实用的多功能定时计划软件,除了基本的定时关机、自动提醒,还包括电脑重启、锁定、睡眠、音量、播放声音等等,是一款...您可以使用 Shutter Pro 的 Web 接口远程执行任何操作。 您还可以远程看
大家,可以看见,我们在这里对将要创建的文件路径使用了绝对路径,这是因为我们将要通过windows命令行来调用此脚本,由于cmd.exe与我们的web根目录是不一样的,而php的文件目录函数只能在web根目录范围内进行操作,...
JAVA项目服务器启动时自启动指定的Servlet,并定时执行任务。 配置关键在web.xml和servlet文件中的init操作
包含了两个完整的例子,用来定时通过SSL访问邮件服务器中特定的邮箱,取出邮箱的内容、作简单的统计后再使用Java Swing以适当的界面显示出来。定时分别给出了使用JDK Timer和Quartz两种方式。 两个例子都能方便地...
在.net中使用Delegate+线程,使用后台线程,在Web中使用线程加委托,在1秒钟定时操作某个方法
定时设置,操作界面与kettle中的开始控件界面一致,这个可能是最优用的功能之一。作业的运行与停止,核心功能就不说了。实时查看作业运行日志,最大显示行数可以配置,这个功能看起来不起眼,实际应该是很有用的。...
用于网站前端开发,页面展示效果动态轮播图滚动,且可点击操作切换轮播图展示代码
通过web端管理任务,操作自动传至任务中心自动执行(支持启动、停止、删除操作),任务支持立即执行,指定时间段执行,支持二次开发,也可对接外部webapi实现和已有系统无缝对接,系统内置Cron表达式生成器 ...
web scraper,在实际应用中,Web Scraper的价值体现在: 低门槛:它极大地降低了数据抓取的技术门槛,使得非技术用户也能轻松获取所需数据。 高效率:通过直观的操作界面和丰富的选择器类型,Web Scraper可以快速...
Wechaty Web Panel Wechaty Web Panel 插件,让你的 wechaty 机器人快速接入 web 控制面板 面板主要功能 微信每日说,定时给女朋友发送每日天气提醒,以及每日一句 定时提醒 当天定时提醒 例:"提醒 我 18:00 下班...
使用JS完成图片轮播效果(事件、定时操作) 使用JS完成页面定时弹出广告(总结BOM对象以及JS的引入方式) 使用JS完成表单的校验(总结常用事件)。 掌握JS的基本语法,数据类型,能够使用JS完成简单的页面交互. 掌握JS中的...
1、数据库读写分离 2、数据接口直接生成,不用手动单独添加 ...18、quartz定时任务管理 19、@CheckParam自定义检测参数 20、ip+并发控制,加入黑名单机制 21、日志、记录 22、前端使用vue.js、jquery等
在日常开发过程中,一些后台服务,比如IM,后台定时任务,都需要一套本地日志系统来监控程序是否正常,Android本身提供的日志系统只能在终端显示,为了模拟一套和android Log系统相同的环境,我自己写了一套本地日志...
1 项目管理:新增项目、列表展示及相关操作,支持用例批量上传(标准化的HttpRunner jso ...9 定时任务:可设置定时任务,遵循crontab表达式,可在线开启、关闭,完毕后支持邮件通 知 10 持续集成:jenkins对
兼容性好,需要定时的任务只依赖于控制台命令,能在命令行中执行的程序都可以执行。意味着可以定时执行包括exe在内的,python,nodejs,甚至matlab等程序 扩展性强,目前可以直接通过对数据库的操作来修改各个任务的...