@pasha404

Как запуск telegram-бота на GAE (фреймворк telebot)?

Пытаюсь решить, собственно, вопрос. Пробовал простой вариант с фреймворком telegram - работает. Но у меня уже есть готовый бот в telebot. Пробовал кто-нибудь в такой связке? Я не пойму чего не хватает.
В логе вот это:
Thread running after request. Creation traceback:
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/runtime.py", line 152, in HandleRequest
    error)
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 329, in HandleRequest
    return WsgiRequest(environ, handler_name, url, post_data, error).Handle()
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/base/data/home/apps/s~pashatest2bot/1.392737687037819472/bot_gae2.py", line 34, in <module>
    bot = telebot.TeleBot(API_TOKEN)
  File "/base/data/home/apps/s~pashatest2bot/1.392737687037819472/lib/telebot/__init__.py", line 75, in __init__
    self.worker_pool = util.ThreadPool()
  File "/base/data/home/apps/s~pashatest2bot/1.392737687037819472/lib/telebot/util.py", line 86, in __init__
    self.workers = [WorkerThread(self.on_exception, self.tasks) for _ in range(num_threads)]
  File "/base/data/home/apps/s~pashatest2bot/1.392737687037819472/lib/telebot/util.py", line 40, in __init__
    self.start()
  File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/threading.py", line 505, in start
    _start_new_thread(self.__bootstrap, ())
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/runtime.py", line 82, in StartNewThread
    return base_start_new_thread(Run, ())
  • Вопрос задан
  • 884 просмотра
Пригласить эксперта
Ответы на вопрос 1
@kirill_shershen
Если ещё актуально, тоже столкнулся с такой ошибкой. Дело было в конструкторе TeleBot который по умолчанию работает в режиме мультипоточности. GAE похоже не дает бесплатно работать с потоками. Мне помог такой вызов
bot = telebot.TeleBot(API_TOKEN, threaded = False)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы