redistribute_blobs.py 文件源码

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

项目:reflector-cluster 作者: lbryio 项目源码 文件源码
def do_migration(sd_hashes):
    def print_final_result(result):
        num_successes = 0
        num_fails = 0
        num_blobs = 0
        for (success,value) in result:
            if success:
                num_successes+=1
                num_blobs += value['blobs']
                print("Success:{}".format(value))
                print('num success:{}, num fail:{}, total:{}'.format(num_successes,num_fails,len(sd_hashes)))
            else:
                num_fails+=1
                print("Fail:{}".format(value))
        time_taken = time.time() - start_time
        sec_per_blob = num_blobs / time_taken
        print("All Finished! Streams: {} Successes:{}, Fails:{}, Blobs moved:{}, Min to finish:{}, Sec per blob:{}".format(
                len(sd_hashes), num_successes, num_fails, num_blobs, time_taken/60, sec_per_blob))
        reactor.stop()

    ds = []
    sem = defer.DeferredSemaphore(4)
    for host, sd_hash in sd_hashes:
        d = sem.run(migrate_sd_hash, sd_hash, host)
        ds.append(d)

    d = defer.DeferredList(ds,consumeErrors=True)
    d.addCallback(print_final_result)
    reactor.run()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号