Привязка к порту telebot при опросе с помощью pyTelegramBotApi - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь развернуть моего телебота на heroku, но он продолжает сбой из-за:

Ошибка R10 (Тайм-аут загрузки) -> Веб-процессу не удалось привязаться к $ PORT в течение 60 секунд после запуска

Как я узнал из документации и Google, это происходит потому, что heroku выделяет порт для моего приложения, но я не связываюсь с ним в течение минуты, поэтому он падает.Кажется, что привязка к порту обязательна из-за документов heroku (https://devcenter.heroku.com/articles/dynos#local-environment-variables).

  1. В течение минуты после запуска мой бот работает хорошо.
  2. Если я добавлю в свой код экземпляр http-серверапривязанный к данному порту, эта ошибка не возникает (но после того, как выполнение вызова serve_forever заблокировано веб-сервером https://docs.python.org/3.6/library/http.server.html#http.server.BaseHTTPRequestHandler)

Здесь так мало вопросов:

  1. Что такоеСамый простой способ смоделировать привязку порта в python?
  2. Правильно ли, что единственный способ привязать порт к telebot - это использовать webhooks?
  3. Может быть, есть способ пропустить привязку портана стороне heroku?
  4. Может быть, я совершенно не прав в своем расследовании, есть еще один простой способ запустить бота с опросом на heroku?
  5. Я использую mongodb на Atlas. Я пытался использоватьпорт там как

client = pymongo.MongoClient (db_url, port = heroku_port)

но это не помогло. db_url использует 'mongodb + srv'протокол. Есть ли способ?

...