__main__.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:redisrwlock 作者: veshboo 项目源码 文件源码
def main():
    # Default values
    opt_repeat = False
    opt_interval = 5
    opt_server = "localhost"
    opt_port = 6379
    try:
        opts, args = getopt.getopt(
            sys.argv[1:],
            "hVri:s:p:",
            ["help", "version", "repeat", "interval=", "server=", "port=",
             "__unhandled__"])
    except getopt.GetoptError as err:
        print("ERROR:", err)
        sys.exit(os.EX_USAGE)
    for opt, opt_arg in opts:
        if opt in ("-h", "--help"):
            usage()
            sys.exit()
        elif opt in ("-V", "--version"):
            version()
            sys.exit()
        elif opt in ("-r", "--repeat"):
            opt_repeat = True
        elif opt in ("-i", "--interval"):
            try:
                opt_interval = int(opt_arg)
                if opt_interval == 0:
                    raise ValueError
            except:
                print("ERROR: specify interval as number of seconds")
                sys.exit(os.EX_USAGE)
        elif opt in ("-s", "--server"):
            opt_server = opt_arg
            if len(opt_server) == 0:
                print("ERROR: specify host name or address of redis-server")
                sys.exit(os.EX_USAGE)
        elif opt in ("-p", "--port"):
            try:
                opt_port = int(opt_arg)
                if not 0 <= opt_port <= 65535:
                    raise ValueError
            except:
                print("ERROR: specify port as number in [0, 65535]")
                sys.exit(os.EX_USAGE)
        else:
            print("ERROR: unhandled option")
            sys.exit(os.EX_USAGE)
    logging_config()
    logger = logging.getLogger(__name__)
    # Gc periodically
    client = RwlockClient(StrictRedis(host=opt_server, port=opt_port))
    while True:
        logger.info('redisrwlock gc')
        client.gc()
        if not opt_repeat:
            break
        time.sleep(opt_interval)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号