zoukankan      html  css  js  c++  java
  • Python定时执行脚本

    最近测试hbase,老发现服务挂掉,自己不能及时发现,想了想,写了个脚本,让脚本每个小时执行一次,以便检测是否有服务挂掉,如果有服务挂掉,及时启动

    import os
    import datetime
    class CheckService(object):
    
        def __init__(self):
            pass
      
        def getService(self):
            # service list
            service = ['Jps'
                    ,'EmbeddedServer'
                    ,'QuorumPeerMain'
                    ,'NodeManager'
                    ,'ResourceManager'
                    ,'NameNode'
                    ,'SecondaryNameNode'
                    ,'HMaster'
                    ,'HRegionServer'
                    ,'RunJar'
    
                    ]
            # Traversal list
            for i in service:
                a = "jps | awk '{print $2}'|grep "+i
                res = os.system(a)
                # Determine whether the service is running
                if res != 0 :
                    print "%s is not running!" %(i)
                    if i == 'HMaster':
                        os.system('start-hbase.sh')
                    elif i == 'HRegionServer':
                        os.system('local-regionservers.sh start 1')
                    elif i == 'EmbeddedServer':
                        os.system('ranger-admin start')
                    elif i == 'QuorumPeerMain':
                        os.system('zkServer.sh start')
                        else:
                        print 'restart Hadoop !!!'
    
        def timerFun(self,sched_Timer):
            flag = 0
            while True:
                now = datetime.datetime.now()
                if now == sched_Timer:
                    self.getService()
                    flag = 1
              else: if flag == 1: sched_Timer = sched_Timer + datetime.timedelta(hours=1) flag = 0 if __name__ == "__main__": cs = CheckService() sched_Timer = datetime.datetime(2017,7,25,9,14) print 'run the timer task at {0}'.format(sched_Timer) cs.timerFun(sched_Timer)

    这个代码也可以扩展,把hours=1改成minutes=1就变成了每个小时定时任务,改成days=1就变成每天的定时任务

  • 相关阅读:
    setTimeout详解
    【康娜的线段树】
    【[CQOI2016]手机号码】
    【[IOI2014]Wall 砖墙】
    【[1007]梦美与线段树】
    【[POI2010]ANT-Antisymmetry】
    【[HEOI2016/TJOI2016]排序】
    【[SCOI2016]背单词】
    【[HNOI2008]GT考试】
    【[JSOI2007]建筑抢修】
  • 原文地址:https://www.cnblogs.com/royfans/p/7232881.html
Copyright © 2011-2022 走看看