Есть тг бот, которому пользователь кидает отправляет 2 переменные, бот их записывает в БД и после нажатия на кнопку 'START' создает новый на метод, передавая введенные юзером данные
if message.text == 'START':
var1 = 10
var2 = 'asdasdads'
thr = Thread(target = generate(var1, var2))
def generate(a,b):
#вычисления
Это вычисление может длится очень долго.
Всё работает как и должно:
первый юзер вводит данные, запускает, происходят вычисления. В это же время второй юзер делает то же самое, у него так же всё работает.
Но у третьего юзера уже не будет работать ни одна команда бота, пока у первых двух происходят вычисления. И когда у одного вычисления прекратятся, только тогда бот обработает все команды, отправленные третьим юзером.
Подозреваю, что-то не так с потоками. В остальных частях кода просто запись введенных сообщений в переменные и вывод ответов, никаких ограничений в "2 активных юзера" я не ставил.
Спасибо всем, кто подскажет :)