Qwentor
@Qwentor
Веб-программист

Python3. Как отловить ошибку в многопоточном коде?

Рассылка сообщений ботом подписавшимся юзерам.

используется multiprocessing

Постоянно такая ошибка:

Exception in thread Thread-3:
Traceback (most recent call last):
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.5/multiprocessing/pool.py", line 429, in _handle_results
    task = get()
  File "/usr/lib/python3.5/multiprocessing/connection.py", line 251, in recv
    return ForkingPickler.loads(buf.getbuffer())
TypeError: __init__() missing 2 required positional arguments: 'function_name' and 'result'


Постоянно в третьем треде, хотя треды одинаковые
Никакого намека на точное место ошибки, все в либах

Что с этим делать? Как искать?

Хм, попробовал выставить 2 потока - все равно Thread-3
  • Вопрос задан
  • 200 просмотров
Решения вопроса 1
Qwentor
@Qwentor Автор вопроса
Веб-программист
Кажется починил заменой telebot на обычный запрос к апи телеграма через requests
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@id2669099
попробуйте вместо
bot = telebot.TeleBot(BOT_TOKEN)
написать так
bot = telebot.TeleBot(BOT_TOKEN, threaded=False)
как указано тут
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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