import asyncio from faker import Faker import module.mysql_utils as sql from module.pydantic_models import * fake = Faker('ko_KR') unique_num = 1 INSERT_NUM = 1000 class UserFactory: unique_num = 0 @classmethod def generate_user_name(cls): cls.unique_num += 1 return f"{fake.name()}{cls.unique_num:04d}" @classmethod def generate_phone_number(cls): return fake.phone_number() @classmethod def create(cls): return (cls.generate_user_name(), cls.generate_phone_number()) async def main(): for i in range(INSERT_NUM): await sql.create_user(*UserFactory.create()) # await asyncio.gather(*[sql.create_user(*UserFactory.create()) for i in range(INSERT_NUM)]) # 커넥션 INSERT NUM개수만큼 생기는 문제 Semaphore 등으로 해결해야 쓸수있음 return if __name__ == "__main__": asyncio.run(main())