def main(): parser = argparse.ArgumentParser(description="cloud monitor cli argparser") exclusive_group = parser.add_mutually_exclusive_group(required=False) logger.debug("[OK] server start up!") daemon_log_path = os.getcwd() + "/log/daemon.log" daemonize('/dev/null', daemon_log_path, daemon_log_path) pool_do_check = [] pool_update_db = [] num_of_do_check = 10 num_of_update_db = 3 tr_pool = [] for i in range(1): tr = thread_read_host_list() tr_pool.append(tr) for i in tr_pool: i.start() tg = thread_get_host_list_from_db() tg.start() for i in range(num_of_do_check): td = thread_do_check() pool_do_check.append(td) for t in pool_do_check: t.start() for i in range(num_of_update_db): tu = thread_update_db() pool_update_db.append(tu) for t in pool_update_db: t.start() monitor = ThreadPoolMonitor(tr=(tr_pool, ), \ td=(pool_do_check, ), \ tu=(pool_update_db, )) monitor.start()
def main(): parser = argparse.ArgumentParser(description="cloud monitor cli argparser") exclusive_group = parser.add_mutually_exclusive_group(required=False) exclusive_group.add_argument('-r', '--dryrun', action='store_true', dest='dryrun', default=False, help='just dry run') exclusive_group.add_argument('-d', '--daemon', action='store_true', dest='daemon', default=False, help='make this process go background.') sysargs = sys.argv[1:] args = parser.parse_args(args=sysargs) if len(sysargs) < 1: parser.print_help() sys.exit(1) else: if args.dryrun: Watcher() elif args.daemon: logger.debug("we will disappear from console :)") daemon_log_path = os.getcwd() + "/cloud_monitor_daemon.log" daemonize('/dev/null', daemon_log_path, daemon_log_path) load_notify = None # if loadbalance notify has been enabled in settings if enable_loadbalance: sender_thread = MonitorSender(instance_queue) sender_thread.start() receiver_thread = MonitorReceiver() receiver_thread.start() load_notify = loadbalanceNotify(receiver_thread) pool_do_check = [] pool_update_db = [] num_of_do_check = 100 num_of_update_db = 3 tr_pool = [] for i in range(1): tr = thread_read_host_list() tr_pool.append(tr) for i in tr_pool: i.start() tg = thread_get_host_list_from_db() tg.start() for i in range(num_of_do_check): td = thread_do_check(load_notify) pool_do_check.append(td) for t in pool_do_check: t.start() for i in range(num_of_update_db): tu = thread_update_db() pool_update_db.append(tu) for t in pool_update_db: t.start() monitor = ThreadPoolMonitor(tr=(tr_pool,), \ td=(pool_do_check,), \ tu=(pool_update_db,)) monitor.start()