Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在telethon中进行异步_Python_Python Asyncio_Telethon - Fatal编程技术网

Python 如何在telethon中进行异步

Python 如何在telethon中进行异步,python,python-asyncio,telethon,Python,Python Asyncio,Telethon,我有10个帐户(会话)。我希望这十个帐户持续运行并从数据库接收信息 他们从数据库接收用户名并向该用户名发送消息 我曾经使用线程,但它在CPU方面非常昂贵,另一个(最重要的)原因是速度慢 我做了一些研究,意识到我应该使用asyncio。我写了这段代码: db = mysql.connector.connect( host="localhost", user="user", passwd="pass",database = "da

我有10个帐户(会话)。我希望这十个帐户持续运行并从数据库接收信息

他们从数据库接收用户名并向该用户名发送消息

我曾经使用线程,但它在CPU方面非常昂贵,另一个(最重要的)原因是速度慢

我做了一些研究,意识到我应该使用asyncio。我写了这段代码:

db = mysql.connector.connect( host="localhost", user="user", passwd="pass",database = "database")
cursor = db.cursor()
query = "SELECT session FROM accounts WHERE 1"
cursor.execute(query)
result = cursor.fetchall()
loop = asyncio.get_event_loop()
online_clients = []
async def online_account(session):
global db , cursor , online_clients
try:
    apiid = 12345
    apihahs = "fdxdddfsdfsd"
    client = TelegramClient(str(session),int(apiid),apihahs)
    await client.connect()
    print("connected")
except: 
    print("a")
else:
    if await client.is_user_authorized():
        print("it's ok")
        online_clients.append(
            client
        )
        while True:
            db.commit()
            cursor.execute("SELECT `username` FROM `usernames` WHERE `name`='True';")
            res = cursor.fetchone()
            await client(SendMessageRequest(res[0],"hi"))
            await asyncio.sleep(1)
    else: print("auth")
for session in result:
    loop.create_task(
        online_account(session[0])
    )
loop.run_forever()
它有效。。。!但我不确定我的工作是否正确。这就是我想要的还是有更好的方法

我只想要高速度和低消耗

请帮帮我