Столкнулся с проблемой задержки сообщения отправки бота установленном на сервере. Бот написан на библиотеке aiogram для работы с базой данных использую gino, есть следующий кусок кода:
spoiler
@dp.callback_query_handler(lambda c: c.data and c.data.startswith('bet-list'))
async def bet_list_page_handler(callback_query: types.CallbackQuery):
chat_id = callback_query.message.chat.id
page_number = int(callback_query.data.split('-')[-1])
chat = await Chat.query.where(Chat.chat_id == chat_id).gino.first()
###
now = datetime.utcnow()
###
if chat is not None:
await bot.delete_message(chat_id, callback_query.message.message_id)
rnd = await Round.query.where(Round.chat_id == chat.id).gino.first()
if rnd is None:
msg = '♂️ Раунд еще не начался!'
keyboard = None
else:
players = await Player.query.where(Player.p_round == rnd.id).gino.all()
prev_page, next_page, players = await get_players_page(players, page_number)
if not players:
msg = ' Ставок еще нет!'
keyboard = None
m = await bot.send_message(chat_id)
await Message.create(message_id=m.message_id,
chat_id=chat.id, m_type='LIST')
else:
msg = ' Список ставок:\n\n'
for i, player in enumerate(players, start=(10 * page_number) - 9):
user = await User.get(player.user)
msg += f'{i}. @{user.username} - <b>${player.rate}</b>\n'
keyboard = await keyboard_list(prev_page, next_page, page_number)
await send_message(chat_id, chat.id, msg, 'LIST', reply_markup=keyboard)
###
print((datetime.utcnow() - now).seconds, 'seconds')
###
Я запускаю на сервере бота, нажимаю на кнопку, которая задействует данную функцию, смотрю в консоли, практически мгновенно появляется надпись 0 seconds(после нажатия). То есть как я понимаю код исполняется быстро, но сам телеграм присылает сообщение с задержкой от 3-10 секунд.
Посмотрел через htop нагрузку на процессор при нажатии кнопки бота в тг, нагрузку показывает в 3-5%, оперативная память 230мб из 900мб задействована.
На локальном компьютере сообщения приходят моментально. В чем может быть проблема? Возможно я не правильно замеряю скорость работы?