Мой бот Viber работает очень медленно (Python) Как я могу сделать это быстрее

#python #viber-bot #viber-bot-python

#python #viber-бот #viber-bot-python

Вопрос:

Вот часть моего кода, db.users_vi() — это файл списка. Когда программа переходит к def viber_not, она начинает работать очень медленно, отправляет 1 сообщение в 30 секунд или даже медленнее. Как я могу заставить его работать быстрее и почему это так медленно?

 def viber_not():

   users = db.users_vi()

   text = random.choice(texts)

   for k in users:
       try:
           viber.send_messages(k[1], [TextMessage(text=text)])
       except:
           pass
  

Комментарии:

1. Вы пробовали многопоточность?

2. Нет, это не так. Не могли бы вы прислать мне подробную информацию об этом? Где я могу найти информацию о многопоточности

3. Вызовы API для однопоточных приложений будут сильно ограничены задержкой в сети, поскольку вы всегда ждете ответа. Одним из способов решения этой проблемы является использование многопоточности, при котором вы можете отправлять больше материалов, ожидая ответа других, вот довольно хороший пост об этом creativedata.stream/multi-threading-api-requests-in-python

4. Спасибо, я постараюсь

Ответ №1:

Попробуйте сериализовать данные, запрошенные из БД. Поскольку большинство из них возвращает «курсор», а не данные. Для некоторых из них list достаточно переноса, но посмотрите документацию, которую вы используете.

users = list(db.users_vi())