def main_loop(transfer, conf=None): """infinite daemon loop""" # define custom signal handlers signal.signal(signal.SIGTERM, daemon_shutdown) while True: try: transfer.hub._login() # Look for logs to transfer if none transfered then sleep if not transfer.transfer_logs(): transfer.sleep() # write to stdout / stderr sys.stdout.flush() sys.stderr.flush() except socket.sslerror: pass # will try again.. except (ShutdownException, KeyboardInterrupt): # ignore keyboard interrupts and sigterm signal.signal(signal.SIGINT, signal.SIG_IGN) signal.signal(signal.SIGTERM, signal.SIG_IGN) logger.info('Exiting...') break except: # this is a little extreme: log the exception and continue traceback = Traceback() logger.error(traceback.get_traceback()) transfer.sleep()
def main_loop(transfer, conf=None): """infinite daemon loop""" # define custom signal handlers signal.signal(signal.SIGTERM, daemon_shutdown) while True: try: transfer.hub._login() # Look for logs to transfer if none transfered then sleep if not transfer.transfer_logs(): logger.debug(80 * '-') transfer.sleep() # write to stdout / stderr sys.stdout.flush() sys.stderr.flush() except socket.sslerror: pass # will try again.. except (ShutdownException, KeyboardInterrupt): # ignore keyboard interrupts and sigterm signal.signal(signal.SIGINT, signal.SIG_IGN) signal.signal(signal.SIGTERM, signal.SIG_IGN) logger.info('Exiting...') break except: # this is a little extreme: log the exception and continue traceback = Traceback() logger.error(traceback.get_traceback()) transfer.sleep()
def main_loop(watchdog, conf): """infinite daemon loop""" # define custom signal handlers signal.signal(signal.SIGTERM, daemon_shutdown) time_of_last_check = 0 while True: try: now = time.time() # Poll for watchdogs if now - time_of_last_check > conf.get('SLEEP_TIME', 60): time_of_last_check = now watchdog.hub._login() try: expired_watchdogs = watchdog.hub.recipes.tasks.watchdogs('expired') except xmlrpclib.Fault: # catch any xmlrpc errors expired_watchdogs = [] traceback = Traceback() logger.error(traceback.get_traceback()) watchdog.expire_watchdogs(expired_watchdogs) # Get active watchdogs *after* we finish running # expired_watchdogs, depending on the configuration # we may have extended the watchdog and its therefore # no longer expired! try: active_watchdogs = watchdog.hub.recipes.tasks.watchdogs('active') except xmlrpclib.Fault: # catch any xmlrpc errors traceback = Traceback() logger.error(traceback.get_traceback()) active_watchdogs = [] watchdog.active_watchdogs(active_watchdogs) if not watchdog.run(): logger.debug(80 * '-') watchdog.sleep() # FIXME: Check for recipes that match systems under # this lab controller, if so take recipe and provision # system. # write to stdout / stderr sys.stdout.flush() sys.stderr.flush() except socket.sslerror: traceback = Traceback() logger.error(traceback.get_traceback()) except xmlrpclib.ProtocolError: traceback = Traceback() logger.error(traceback.get_traceback()) except (ShutdownException, KeyboardInterrupt): # ignore keyboard interrupts and sigterm signal.signal(signal.SIGINT, signal.SIG_IGN) signal.signal(signal.SIGTERM, signal.SIG_IGN) logger.info('Exiting...') break
def main_loop(watchdog, conf): """infinite daemon loop""" # define custom signal handlers signal.signal(signal.SIGTERM, daemon_shutdown) time_of_last_check = 0 while True: try: now = time.time() # Poll for watchdogs if now - time_of_last_check > conf.get('SLEEP_TIME', 60): time_of_last_check = now try: expired_watchdogs = watchdog.get_expired_watchdogs() except xmlrpclib.Fault: # catch any xmlrpc errors expired_watchdogs = [] traceback = Traceback() logger.error(traceback.get_traceback()) watchdog.expire_watchdogs(expired_watchdogs) # Get active watchdogs *after* we finish running # expired_watchdogs, depending on the configuration # we may have extended the watchdog and its therefore # no longer expired! try: active_watchdogs = watchdog.get_active_watchdogs() except xmlrpclib.Fault: # catch any xmlrpc errors traceback = Traceback() logger.error(traceback.get_traceback()) active_watchdogs = [] watchdog.active_watchdogs(active_watchdogs) if not watchdog.run(): logger.debug(80 * '-') watchdog.sleep() # FIXME: Check for recipes that match systems under # this lab controller, if so take recipe and provision # system. # write to stdout / stderr sys.stdout.flush() sys.stderr.flush() except socket.sslerror: traceback = Traceback() logger.error(traceback.get_traceback()) except xmlrpclib.ProtocolError: traceback = Traceback() logger.error(traceback.get_traceback()) except (ShutdownException, KeyboardInterrupt): # ignore keyboard interrupts and sigterm signal.signal(signal.SIGINT, signal.SIG_IGN) signal.signal(signal.SIGTERM, signal.SIG_IGN) logger.info('Exiting...') break