schedule.run_pending() Блокирует работу других функций

Пытаюсь сделать бота, который реагирует на команды, такие как start и start_2, а так же с определенной периодичностью отправляет сообщение. Проблема заключается в том, что если я использую schedule.run_pending(), бот не может выполнить никакие функции кроме run_timer(). Пытался решить проблему при помощи Thread для того, что бы этот цикл выполнялся отдельным потоком и не блокировал работу остальных функций, не помогло, бот просто не реагирует на команды и выполняет только run_timer(). Как можно реализовать то, что мне требуется?

import telebot
import config
import schedule
import time 
from threading import Thread


bot = telebot.TeleBot(config.TOKEN)

chat_id = ...

@bot.message_handler(commands=['start'])
def welcome(message):
    bot.send_message(chat_id, text='test_1')
    

@bot.message_handler(commands=['start_2'])
def message_handler_2(message):
    bot.send_message(chat_id, text='test_2')
    

@bot.message_handler(commands=['timer'])
def timer():
    bot.send_message(chat_id, 'Таймер сработал')
   

def run_timer():
    schedule.every(10).seconds.do(timer)

    while True:
        schedule.run_pending()
        time.sleep(1)

thread = Thread(target=run_timer)
thread.start()

Ответы (0 шт):