worker.py 文件源码

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

项目:corvus-web-public 作者: eleme 项目源码 文件源码
def delete_proxy(task_id, **config):
    logger.info('starting delete proxy')
    ports = config['ports']
    programs = []
    for p in ports:
        conf_file = CORVUS_CONF.format(p)
        if os.path.exists(conf_file):
            os.remove(conf_file)
        for f in os.listdir(SUPERVISOR_DIR):
            if f.startswith('corvus-{}-'.format(p)) and f.endswith('.ini'):
                programs.append(f[:-4])
                os.remove(os.path.join(SUPERVISOR_DIR, f))
        logger.info('{} deleted'.format(programs[-1]))
    run('supervisorctl reread')
    run('supervisorctl update {}'.format(' '.join(programs)))
    logger.info('waiting proxy to be stopped')
    retry = 5 * len(programs)
    for _ in range(retry):
        if all(map(operator.not_, map(program_running, programs))):
            break;
        os.sleep(2)
    else:
        raise TaskException('proxies are still running')
    delete_proxy_in_dashboard(config)
    logger.info('successfully delete proxy')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号