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
如何设置Python3 Telethon连接超时?_Python_Python Asyncio_Telethon - Fatal编程技术网

如何设置Python3 Telethon连接超时?

如何设置Python3 Telethon连接超时?,python,python-asyncio,telethon,Python,Python Asyncio,Telethon,我异步使用python 3 telethon库,有几个帐户和一些代理,因此我想在连接到一个帐户时设置3秒的超时时间,如果代理已失效,我尝试通过两种方式执行此操作: 设置客户端超时: self.client = TelegramClient('sessions/' + session_file, app_id, app_hash, system_version=sdk, app_version=app_version,


我异步使用python 3 telethon库,有几个帐户和一些代理,因此我想在连接到一个帐户时设置3秒的超时时间,如果代理已失效,我尝试通过两种方式执行此操作:

设置客户端超时:

self.client = TelegramClient('sessions/' + session_file, app_id, app_hash,
                                 system_version=sdk, app_version=app_version,
                                 device_model=device,
                                 lang_code=lang_pack, proxy=self.proxy, timeout=3)
tasks = [asyncio.wait_for(client.connect_client(), timeout=3) for client in clients]

try:
    self.clients = await asyncio.gather(*tasks)
except asyncio.TimeoutError:
    print('Time out!')
except Exception as ex:
    print(ex)
    print()

设置协同路由超时:

self.client = TelegramClient('sessions/' + session_file, app_id, app_hash,
                                 system_version=sdk, app_version=app_version,
                                 device_model=device,
                                 lang_code=lang_pack, proxy=self.proxy, timeout=3)
tasks = [asyncio.wait_for(client.connect_client(), timeout=3) for client in clients]

try:
    self.clients = await asyncio.gather(*tasks)
except asyncio.TimeoutError:
    print('Time out!')
except Exception as ex:
    print(ex)
    print()
但是这两种方法都不起作用,当我尝试连接时,如果代理不起作用,那么等待时间会比指定的超时值长得多。
我的错误是什么?

您可能会受到(代理和超时不能很好地协同工作)的影响。谢谢,您能否解释一下如何应用此功能,因为我可以看到1.10.10版本仍然没有使用AIOSock?