How do I protect connection from flooding with mysql.connector

Viewed 28
Traceback (most recent call last):
  File "c:\Users\Yaroslav\Desktop\Evolve\db_requests.py", line 65, in set_current_menu
    cursor.execute("UPDATE user SET current_menu = %s WHERE telegram_id = %s", (menu, telegram_id))
  File "C:\Users\Yaroslav\AppData\Local\Programs\Python\Python310\lib\site-packages\mysql\connector\cursor.py", line 551, in execute
    self._handle_result(self._connection.cmd_query(stmt))
  File "C:\Users\Yaroslav\AppData\Local\Programs\Python\Python310\lib\site-packages\mysql\connector\connection.py", line 490, in cmd_query     
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
  File "C:\Users\Yaroslav\AppData\Local\Programs\Python\Python310\lib\site-packages\mysql\connector\connection.py", line 384, in _handle_result
    elif packet[4] == 0:
IndexError: bytearray index out of range

I'm facing this issue when number of requests is over than 3 per second. Already tried threading, same result.

db_requests.py

def set_current_menu(telegram_id, menu):
    try:
        cursor.execute("UPDATE user SET current_menu = %s WHERE telegram_id = %s", (menu, telegram_id))
        conn.commit()
    except Exception(err):
        print(err)

main.py

@bot.message_handler(content_types=['text'])
    def handle_text(message):
        chat_id = message.chat.id
        if message.text == "My account":
            db_requests.set_current_menu(message.from_user.id, 'my_account')
0 Answers
Related