在做系统的时候,某些重要的业务点可能是单独部署,因为服务器宕机、程序代码出错或者数据错误的原因可能会导致某个业务功能很长一段时间无法正常执行。此时,我们便需要对这些业务点功能进行实时监控、预警等。
当然监控方案五花八门,今天小编为大家分享一个在负责**wechat(微信+在线客服平台)系统时候的队列任务(实为task)的线程监控方案(windows server系统)。
方案流程简介:1.在任务首次执行队列任务时,将任务名、执行时间保存到数据库的监控任务执行表中,以后每次任务执行队列都调用方法更新任务执行记录表中的任务执行的最后时间字段。2.通过配置定时任务调用.bat脚本(此处用包装了一层vbs脚本调用.bat脚本实现后台运行的功能)来执行java aplication(main)应用写的实时扫描任务执行表进行发邮件报警的功能。
详细脚本 :
start_monitor.vbs(定时任务配置调用的后台运行脚本)
set ws=wscript.createobject("Wscript.Shell")
ws.run "cmd /c D:\WeChat_Thread_Monitor\WeChat_Thread_Monitor.bat",vbhide
Wechat_Thread_Monitor.bat(start_monitor.vbs脚本调用该脚本来执行java代码)
@D:
@cd D:\WeChat_Thread_Monitor
@D:\WeChat_Thread_Monitor\jdk1.8.0_112\bin\java -classpath .;.\classes;.\lib\commons-beanutils.jar;.\lib\commons-codec-1.10.jar;.\lib\commons-collections-3.1.jar;.\lib\commons-dbcp-1.2.1.jar;.\lib\commons-digester.jar;.\lib\commons-discovery.jar;.\lib\commons-httpclient-3.0.jar;.\lib\commons-lang-2.1.jar;.\lib\commons-logging-1.1.1.jar;.\lib\commons-pool-1.2.jar;.\lib\jtds-1.2.jar;.\lib\log4j-1.2.8.jar;.\lib\mail.jar com.akzonobel.wechat.Main
rem ‘succ end!’
windows server定时任务配置详细步骤介绍:
说明:配置windows server定时任务执行监控项目的运行脚本start_monitor.vbs ,【注:该脚本为后台执行WeChat_Thread_Monitor.bat脚本的vb启动脚本】
1.右键windowsserver服务器左下角的win图标,点击computer Management选项打开计算机管理,如下图
2.选择打开computer Management(local)->System Tools->Task Scheduler Library定时任务配置选项
3.点击管理器最右边栏目中的Task Scheduler Library下面的Creat Task开始创建任务.
4.配置General选项卡中的通用任务参数 ;
a.Name(任务名):wechat_monitor_nineclient
b.Description(说明):备注该任务是用来做什么事情的,这里配置为wechat_monitor_nineclient微信监控
5.配置Triggers任务触发器参数
a.点击new按钮来创建一调trigers规则,在trigers规则配置窗口中,配置参数如下,
b.Begin the task:选择On a schedule选项
c.Settings配置栏中选择One time;Start开始时间配置为当前时间,同时勾选Sysnchronize across time zones选项
e.Advanced settings配置栏,勾选Repeat task every:并且设置该值为1 minute;设置for a duration of参数值为Indefinitely【注:此项配置意思是任务永远的按照一分钟启动调度执行一次的规则运行下去】;勾选Stop task if it runs longer than:并且设置该参数值为10 minutes【注:此项配置意思是当前任务执行时间超过10分钟还没完成,则强制停止任务实例】,勾选Enabled 表示启用.点击Ok保存.
6.配置Actions具体任务执行的脚本内容.
a.点击new按钮新建一个Action
b.Action参数选项选择Start a program;表示启动一个程序
c.Setting栏中Program/script参数选择start_monitor.vbs脚本,该脚本目录路径 D:\WeChat_Thread_Monitor\start_monitor.vbs;【注:此参数用于后台执行WeChat_Thread_Monitor.bat脚本】
d.点击ok保存
7.配置Condtions条件,此处勾选Power栏目中Wake the computer to run this task,表示可唤醒计算机来运行这个任务
8.配置Setting选项卡中的参数,勾选Allow task to be run on demand选项,允许按需运行任务;勾选Run task as soon as possible after a scheduled start a missed选项,表示如果错过预定时间,则尽快的执行该任务;勾选Stop the task if it runs longer than并且设置该参数值为1小时,任务运行超过一小时则强制停止任务;勾选if the running task does not end when requested, force it to stop选项,表示如果请求执行时,上一次任务没有结束,则强制停止上一次任务实例;if the task is already running then the following rule applies参数选择Run a new instance in parallel,表示如果任务已经在执行的请求规则,为每次都新创建一个实例来运行该任务.
9.最后点击ok按钮保存所有配置.然后在计算机管理器中间栏中如果与名称为以上配置的wechat_monitor_nineclient的任务则配置成功.此时任务开始执行,可到数据库表thread_last_runtime中进行任务执行情况查看
最后如果有这方面需求的朋友可以联系我,提供参考代码。