Я пытаюсь развернуть моего телебота на heroku, но он продолжает сбой из-за:
Ошибка R10 (Тайм-аут загрузки) -> Веб-процессу не удалось привязаться к $ PORT в течение 60 секунд после запуска
Как я узнал из документации и Google, это происходит потому, что heroku выделяет порт для моего приложения, но я не связываюсь с ним в течение минуты, поэтому он падает.Кажется, что привязка к порту обязательна из-за документов heroku (https://devcenter.heroku.com/articles/dynos#local-environment-variables).
- В течение минуты после запуска мой бот работает хорошо.
- Если я добавлю в свой код экземпляр http-серверапривязанный к данному порту, эта ошибка не возникает (но после того, как выполнение вызова serve_forever заблокировано веб-сервером https://docs.python.org/3.6/library/http.server.html#http.server.BaseHTTPRequestHandler)
Здесь так мало вопросов:
- Что такоеСамый простой способ смоделировать привязку порта в python?
- Правильно ли, что единственный способ привязать порт к telebot - это использовать webhooks?
- Может быть, есть способ пропустить привязку портана стороне heroku?
- Может быть, я совершенно не прав в своем расследовании, есть еще один простой способ запустить бота с опросом на heroku?
- Я использую mongodb на Atlas. Я пытался использоватьпорт там как
client = pymongo.MongoClient (db_url, port = heroku_port)
но это не помогло. db_url использует 'mongodb + srv'протокол. Есть ли способ?