@enabl3

Как организовать многопоточные запросы на выполнение команд в использовании бота Telegram?

Здравствуйте.
При одновременном использовании бота разными людьми, он работает поочередно.
С начала обрабатывает запрос одного, после второго.
Если это простые команды, то этого не заметно, но есть команды, в которые прописаны скрипты для выполнения, и вот пока от этот скрипт не отработает, другую команду не захавает.
Бот на питоне.
Нашел так, но не уверен что это правильно
import threading
theVar = 1
class MyThread(threading.Thread):
    def run ( self ):
        global theVar
def listener(messages):
    @bot.message_handler(commands=['script1'])
    def handle_script1_request(message):
        ip = message.text.split()[-1]
            result = ssh.get_script1(ip)
            bot.send_message(message.chat.id, result)
        theVar = theVar + 1
for x in xrange ( 20 ):
    MyThread().start()

Как подогнать код под все запросы которые у меня есть, для одновременного их использования разным количеством людей.
  • Вопрос задан
  • 5462 просмотра
Пригласить эксперта
Ответы на вопрос 1
@n293
Аналитик
В python-telegram-bot есть декоратор вроде @run_async

Да, с его помощью можно решить проблему: https://github.com/python-telegram-bot/python-tele...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы