Ответы пользователя по тегу Heroku
  • Heroku как хостинг для бота. Как влияет ограничение в 30 минут?

    @OlegPyatakov
    pyatakov.com
    Общая теория:
    Если бот на Heroku уходит в сон, то он не теряет своего внутреннего состояния. Когда к спящему боту впервые обратятся по web, то он ответит, как обычно, но с задержкой, на то, чтобы проснуться из сна. В интернете пишут, что выход из сна занимает пару секунд. Я сам не проверял тайминги.

    Практика:
    Бесплатный тариф на Heroku можно успешно использовать для бота Телеграм, но нужно приспособиться:
    • Делать long polling на Heroku с использованием worker gyno. В документации написано, что worker dyno не уходят в сон.
    • Делать бота на webhooks. В этом случае бот при бездействии будет ходить в сон, но следующий запрос выведет его из сна. Не проверял тайминги, но предположу, что Telegram не будет обрывать совединение из-за задержки ответа в пару секунд. Да, для внешнего пользователя это запрос потребует несколько секунд на обработку из-за выхода из сна.
    • Делать бота как обычно, но по web cron каждые 25 минут посылать web запросы на какой нибудь end point бота, чтобы тот не спал.
    Ответ написан
  • Ошибка при деплое на хероку, почему?

    @OlegPyatakov
    pyatakov.com
    Gunicorn не работает на Windows. Поэтому, если не использовать другой http-сервер, то локально тестировать (heroku local web) на Win ваше приложение не получится.
    Ответ написан
  • Какой сервис использовать для хранения и доступа к файлу словаря python в проекте на heroku?

    @OlegPyatakov
    pyatakov.com
    Вариант 1. Использовать БД. На Heroku есть, вроде, free tier для БД. Можно использовать внешнюю, например, бесплатный уровень в mlab.com.
    Вариант 2. Использовать Яндекс.Диск (или аналог) с доступом по WebDav.
    Ответ написан
  • Есть ли в бесплатном аккаунте heroku доступ к внешнему интернету?

    @OlegPyatakov
    pyatakov.com
    В Heroku запросы вовне, вроде бы, разрешены.

    PythonAnywhere позиционирует себя не как хостинг любительских проектов, а как песочница, поэтому такие ограничения. На самом деле там их еще больше.

    Среди альтернативных бесплатных PaaS еще есть Bluemix, OpenShift, AWS (на год), Google App Engine. Как-то в своем блоге проводил их сравнение.
    Ответ написан
  • Как пользоваться HEROKU для проекта django?

    @OlegPyatakov
    pyatakov.com
    Если там запускаю своё приложение на django, т.е. сайт, то я ж смогу привязать свой домент
    и это всё будет работать, как обычный сайт?

    Привязать свой домен можно на всех планах, включая бесплатный. В целом да, будет работать как обычный сайт. Но будет ряд ограничений: уход в сон через 30 минут бездействия (если про бесплатный тариф), ограниченный выбор базы данных, невозможность использования файлового хранилища (везде придется использовать БД, т.е. будет ограничение на пользовательские загрузки и файлы), ограничения на количество процессов/воркеров.

    Допустим какие-то ограничения можно снять, выбрав другой PaaS, но в целом подобного рода неудобства все равно сохранятся.

    Также вот это не совсем корректный тезис:
    Покупать целый вдс для этого нет возможностей и смысла.

    Сегодня нормальный VDS это 100-200 рублей в месяц (может даже меньше), т.е. уже дешевле чем платный тариф Heroku.
    Ответ написан