偶的博客本身使用的是SiteUptime,但由于是免费账户最短间隔时间是30分钟,统计的数据会跟实际误差很大。正好GAE Cron Job可以用于定时任务,而且GAE可以使用GMAIL发送邮件,于是一个偶自制的山寨版监测系统就上线了,监测频率设置为每5分钟执行一次。
原理很简单,请求首页,如果返回200状态码就认为正常,其余则认为有故障,此时调用邮件发送模块发送邮件通知。这部分代码如下,完整代码不多,贴出也意义不大,请下载浏览。
1 2 3 4 5 6 7 8 9 10 |
class UptimeCheck(webapp.RequestHandler): def get(self): url = 'http://ioio.name/' result = urlfetch.fetch(url) if result.status_code == 200: #self.response.out.write(result.content) self.response.out.write('Site Online Now:%s'%time.ctime()) else: SendNoticeMail(result.status_code) self.response.out.write('Site Offline Now:%s'%time.ctime()) |
下载 [download id=”38″]
这只是一个单用户版本,将需要监测的URL和邮件发送接收地址改成你自己的后上传至你的GAE即可使用。
-EOF-
请问一下,你的源码在哪个地方?可以发到我的邮箱吗?
已更新下载链接,直接下载即可。
hello, 因为我也在写一个后台运行的GAE网页。
但刚起步,什么都不熟悉。
按照你的代码,写到了Cron里。但我在管理员查看Cron工作状态时,如下显示:
Cron Job Schedule/Last Run/Last Status (All times are UTC)
/tasks/uptime every 5 minutes (UTC)
every 5 minutes job 2012/06/04 12:55:32 on time Failed
显示失败,而且我用于查询的网站已关闭,但没有邮件报错。
请帮忙解决……..