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)

    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()
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()