做网站的同学相比都对自动后台运行的工作进程十分垂涎,因为不管什么网站脚本语言,ASP、PHP等,都是当客户来申请的时候才会有动作,而所有动作都得客户耗着等。这时候如果有一个后台运行的工作进程帮你处理一些东西该多好啊,比如说清理下垃圾啦、异步处理一些很耗时的工作啦等等。
因为是Windows服务器,SQL Server数据库,网站语言用的是ASP的VBScript,所以我考虑采用vbs作为工具实现这种后台运行的功能。(vbs就是VBScript嘛,所以语言习惯上比较像。如果你网站是php,用的是linux服务器,可以适当选择其他比较像的语言来做啦,道理是一样的)
//TODO:来一张图说明一下总体架构吧。
因为比较简单,所以设计好之后,我们就开工吧:
第一步
首先我们来建一个表,用来作为后台进程和监控进程通讯的中介,也可以作为出错时检查的日志。取名 logAutoTasks。
虽然用数据库作为中介,开销是比较大的,有朋友建议我用ping包,但是,vbs哪有什么ping包之类的,只能选择开销大一些的咯,再者,反正日志总是要记的,相当于两者工作一次做掉,应该也是个好办法吧。