""" @author: luojunhui """ import asyncio import time import aiomysql from deal import MatchArticlesTask class TaskMySQLClient(object): """ Async MySQL """ def __init__(self): self.mysql_pool = None async def init_pool(self): """ 初始化连接 :return: """ self.mysql_pool = await aiomysql.create_pool( host='rm-bp1159bu17li9hi94.mysql.rds.aliyuncs.com', port=3306, user='crawler', password='crawler123456@', db='piaoquan-crawler', charset='utf8mb4', connect_timeout=120, ) print("mysql init successfully") async def close_pool(self): """ 关闭 mysql 连接 :return: """ self.mysql_pool.close() await self.mysql_pool.wait_closed() async def select(self, sql): """ select method :param sql: :return: """ async with self.mysql_pool.acquire() as conn: async with conn.cursor() as cursor: await cursor.execute(sql) result = await cursor.fetchall() return result async def async_insert(self, sql, params): """ insert and update method :param params: :param sql: :return: """ async with self.mysql_pool.acquire() as coon: async with coon.cursor() as cursor: await cursor.execute(sql, params) await coon.commit() async def main(): """ main --version 01 :return: """ TMC = TaskMySQLClient() await TMC.init_pool() MAT = MatchArticlesTask(mysql_client=TMC) await MAT.whisper_task() await asyncio.sleep(5) await MAT.materials_task() await asyncio.sleep(5) await MAT.ai_task() if __name__ == '__main__': while True: asyncio.run(main()) print("执行完成,等待120s") # time.sleep(120)