user_data_fill.py 文件源码

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

项目:apex-sigma-plugins 作者: lu-ci 项目源码 文件源码
def user_data_fill(ev):
    ev.log.info('Filling member details...')
    threads = ThreadPoolExecutor(2)
    start_stamp = arrow.utcnow().float_timestamp
    ev.bot.cool_down.set_cooldown(ev.name, 'member_details', 3600)
    mem_coll = ev.db[ev.db.db_cfg.database].UserDetails
    mem_coll.drop()
    for x in range(0, ev.bot.shard_count):
        shard_start = arrow.utcnow().float_timestamp
        member_list = []
        for guild in ev.bot.guilds:
            if guild.shard_id == x:
                for member in guild.members:
                    mem_data = await generate_member_data(member)
                    member_list.append(mem_data)
        task = functools.partial(mem_coll.insert, member_list)
        await ev.bot.loop.run_in_executor(threads, task)
        shard_end = arrow.utcnow().float_timestamp
        shard_diff = round(shard_end - shard_start, 3)
        ev.log.info(f'Filled Shard #{x} Members in {shard_diff}s.')
    end_stamp = arrow.utcnow().float_timestamp
    diff = round(end_stamp - start_stamp, 3)
    ev.log.info(f'Member detail filler finished in {diff}s.')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号