31 lines
897 B
Python
31 lines
897 B
Python
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()) |