- 当接口返回值和预期不一致时候,发送邮件报警
访问普通界面(无需登录)时,获取返回值,使用json解析,如果能解析并达到自己设定的大小/条数,认为正常,如果不对就出发报警。
访问登录后的界面时,首先自动登录,获取session/cookie,带着session/cookie去访问,如果能解析并达到自己设定的大小/条数,认为正常,如果不对就出发报警。
发送邮件的时候,使用异步发送,即主程序只执行触发发邮件的方法,具体发送邮件由异步调度软件去执行发邮件程序(主程序调celery的sendmail任务)。
每分钟轮训一遍所需访问的接口,用crontab或者celery的Schedule。
- 使用requests库模拟/发起请求,根据需要的URL决定使用GET/POST方法.requests使用
- 使用yagmail库发送邮件. 使用yagmail发送邮件
- 使用celery 进行异步发送邮件和定时任务. 使用celery
- 使用supervisor进行进程守护.supervisor使用
- 使用redis用作celery发送/存储任务事件.
- 服务功能 supervisor配置文件监听了两个任务: 其一是celery worker,现将发送邮件的任务准备起来,待到主项目调用的时候,直接执行。supervisor监控到这个进程消失,会主动重启。 其二是celery beat,这个是调用定时任务的模块,supervisor监控到这个进程消失,会主动重启。
- 配置文件
Celery分成两部分功能来讲: 其一是主程序monitor_xx.py触发发邮件的时候调用celery worker. 其二是需要celery beat来定时执行主程序monitor_xx.py
- monitor_tob_app.py有详细注释