Python(2.7)脚本监视和通知系统

2024-06-26 01:54:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我读过很多关于监视python脚本的文章,但是没有找到我希望做的事情。基本上,我有两台运行Linux的台式机。每台计算机都有多个python脚本,全天候不间断地运行。他们中的大多数是网页抓取,而其他一些是清理和处理数据。我已经建立了相当广泛的异常处理,在任何错误或崩溃的情况下都会向我发送电子邮件,但有些情况我无法收到电子邮件(例如脚本本身冻结或计算机本身崩溃,或计算机断开互联网连接,等等)

所以,我尝试构建一种签入服务,在这个服务运行期间,python脚本会多次签入该服务,如果它在X个时间段内没有签入,那么就给我发一封电子邮件。我不知道这是不是可以用信号或异步模块和/或套接字来完成的,或者哪一个地方可以启动。在

有人写过这样的东西吗?或者能给我指出正确的方向?在


Tags: 数据脚本网页电子邮件linux计算机错误文章
2条回答

看看监管工具,比如monit或{a2}。 这些工具是为完成您所描述的功能而构建的。 例如:为python进程创建一个简单的init.d脚本:

PID_FILE=/var/run/myscript.pid                                               
LOG_FILE=/mnt/logs/myscript.log                                                  
SOURCE=/usr/local/src/myscript                                           

case $1 in                                                                      
  start)                                                                        
    exec /usr/bin/python $SOURCE/main_tread.py >> LOG_FILE 2>&1 &                     
    echo $! > $PID_FILE                                                         
    ;;                                                                          
  stop)                                                                         
    kill `cat ${PID_FILE}`                                                      
    ;;                                                                          
  *)                                                                            
    echo "Usage: wrapper {start|stop}"                                          
    ;;                                                                          

esac                                                                            
exit 0  

然后将其添加到monit配置中:

^{pr2}$

同时检查文档,它有一个很好的例子,如何设置警报和发送电子邮件。在

Upstart是个不错的选择,但恐怕它只适用于基于Ubuntu和Redhat的发行版

相关问题 更多 >