One of my telegram robots (with many users) often stops responding after running for a while (about 3-7 days). It can only be restored after restarting the robot. There are many TimeoutErrors in the log. Is it because there are too many users online at the same time? Is there a way to avoid this situation? Some logs are as follows
Traceback (most recent call last):
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/dispatcher.py", line 364, in handler_worker
await handler.callback(self.client, *args)
File "/www/wwwroot/bots/xxxbot.py", line 874, in my_handler
await message.reply(f"id:`{message.chat.id}`", link_preview_options=types.LinkPreviewOptions(is_disabled=True), reply_markup=btn_keybord)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/types/messages_and_media/message.py", line 1602, in reply_text
return await self._client.send_message(
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/methods/messages/send_message.py", line 322, in send_message
r = await self.invoke(rpc)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/methods/advanced/invoke.py", line 79, in invoke
r = await self.session.invoke(
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
[Previous line repeated 2 more times]
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 439, in invoke
raise e from None
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 415, in invoke
return await self.send(query, timeout=timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 378, in send
raise TimeoutError
TimeoutError
[5] Retrying "messages.SendMessage" due to TimeoutError()
[5] Retrying "messages.SendMessage" due to TimeoutError()
Traceback (most recent call last):
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/dispatcher.py", line 364, in handler_worker
await handler.callback(self.client, *args)
File "/www/wwwroot/bots/xxxbot.py", line 634, in my_handler
await message.reply(text="input:", reply_markup=keybord, reply_parameters=ReplyParameters(message_id=message.id), link_preview_options=types.LinkPreviewOptions(is_disabled=True))
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/types/messages_and_media/message.py", line 1602, in reply_text
return await self._client.send_message(
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/methods/messages/send_message.py", line 322, in send_message
r = await self.invoke(rpc)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/methods/advanced/invoke.py", line 79, in invoke
r = await self.session.invoke(
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
[Previous line repeated 2 more times]
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 439, in invoke
raise e from None
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 415, in invoke
return await self.send(query, timeout=timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 378, in send
raise TimeoutError
TimeoutError
[5] Retrying "messages.SendMessage" due to TimeoutError()
[5] Retrying "messages.SendMessage" due to TimeoutError()
[5] Retrying "contacts.ResolveUsername" due to TimeoutError()
[5] Retrying "messages.SendMessage" due to TimeoutError()
[5] Retrying "channels.GetMessages" due to TimeoutError()
[5] Retrying "messages.SendMessage" due to TimeoutError()
[5] Retrying "messages.SendMessage" due to TimeoutError()
[5] Retrying "messages.SendMessage" due to TimeoutError()
Traceback (most recent call last):
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/dispatcher.py", line 364, in handler_worker
await handler.callback(self.client, *args)
File "/www/wwwroot/bots/xxxbot.py", line 874, in my_handler
await message.reply(f"id:`{message.chat.id}`", link_preview_options=types.LinkPreviewOptions(is_disabled=True), reply_markup=btn_keybord)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/types/messages_and_media/message.py", line 1602, in reply_text
return await self._client.send_message(
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/methods/messages/send_message.py", line 322, in send_message
r = await self.invoke(rpc)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/methods/advanced/invoke.py", line 79, in invoke
r = await self.session.invoke(
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
[Previous line repeated 2 more times]
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 439, in invoke
raise e from None
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 415, in invoke
return await self.send(query, timeout=timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 378, in send
raise TimeoutError
TimeoutError
Traceback (most recent call last):
File "/www/wwwroot/bots/xxxbot.py", line 2542, in tiqu_muilt_msg
download_msg = await message.reply("loading...", reply_parameters=ReplyParameters(message_id=message.id))
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/types/messages_and_media/message.py", line 1602, in reply_text
return await self._client.send_message(
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/methods/messages/send_message.py", line 322, in send_message
r = await self.invoke(rpc)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/methods/advanced/invoke.py", line 79, in invoke
r = await self.session.invoke(
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
[Previous line repeated 2 more times]
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 439, in invoke
raise e from None
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 415, in invoke
return await self.send(query, timeout=timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 378, in send
raise TimeoutError
TimeoutError
Traceback (most recent call last):
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/dispatcher.py", line 364, in handler_worker
await handler.callback(self.client, *args)
File "/www/wwwroot/bots/xxxbot.py", line 874, in my_handler
await message.reply(f"id:`{message.chat.id}`", link_preview_options=types.LinkPreviewOptions(is_disabled=True), reply_markup=btn_keybord)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/types/messages_and_media/message.py", line 1602, in reply_text
return await self._client.send_message(
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/methods/messages/send_message.py", line 322, in send_message
r = await self.invoke(rpc)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/methods/advanced/invoke.py", line 79, in invoke
r = await self.session.invoke(
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
[Previous line repeated 2 more times]
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 439, in invoke
raise e from None
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 415, in invoke
return await self.send(query, timeout=timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 378, in send
raise TimeoutError
TimeoutError
[5] Retrying "updates.GetState" due to TimeoutError()
Traceback (most recent call last):
File "/www/wwwroot/bots/xxxbot.py", line 2542, in tiqu_muilt_msg
download_msg = await message.reply("loading...", reply_parameters=ReplyParameters(message_id=message.id))
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/types/messages_and_media/message.py", line 1602, in reply_text
return await self._client.send_message(
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/methods/messages/send_message.py", line 322, in send_message
r = await self.invoke(rpc)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/methods/advanced/invoke.py", line 79, in invoke
r = await self.session.invoke(
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 446, in invoke
return await self.invoke(query, retries - 1, timeout)
[Previous line repeated 2 more times]
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 439, in invoke
raise e from None
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 415, in invoke
return await self.send(query, timeout=timeout)
File "/root/py3.9/lib/python3.9/site-packages/pyrogram/session/session.py", line 378, in send
raise TimeoutError
TimeoutError
Checklist
pip3 install https://github.com/TelegramPlayground/pyrogram/archive/dev.zip --force-reinstalland reproduced the issue using the latest development versionDescription
One of my telegram robots (with many users) often stops responding after running for a while (about 3-7 days). It can only be restored after restarting the robot. There are many TimeoutErrors in the log. Is it because there are too many users online at the same time? Is there a way to avoid this situation? Some logs are as follows
Steps to reproduce
Code example
Logs