Сегодня, в моем путешествии по созданию этих замечательных ботов Telegram, которых все хотят (хотя еще никто об этом не знает), нам предстоит немного побороться с динамо-машинами Heroku и их возможностями. И, чтобы сэкономить ваше время, силы и много блужданий, я решил поделиться тем, что я узнал:

В Heroku у нас есть три различных конфигурации динамометра, которые нам нужно будет выбрать в зависимости от задачи, которую мы хотим, чтобы они выполняли.

  • Веб-динамики: эти динамики отвечают за получение HTTP-трафика нашего приложения. Очень важно привязать их к порту, который вам предоставляет Heroku, иначе процесс остановится в течение 60 секунд после выполнения. Вы можете получить этот порт, прочитав переменную среды «PORT».
  • Рабочие динамометры: их можно использовать практически для любых задач, но они предназначены для фоновых задач или заданий в очереди, что в большинстве случаев делает их идеальным выбором при размещении ботов Telegram. Вы можете иметь разные порты в одном приложении и назначать каждый из них другому процессу, и вам не нужно привязывать их к какому-либо порту.
  • Одноразовые динамометры. Эти динамометры сильно отличаются от предыдущих: вместо непрерывного выполнения они выполняют спорадическую работу, а затем завершают свое выполнение; следовательно, они более полезны для задач с четко разграниченными началом и концом.

В моем случае я использую Heroku для размещения своих ботов Telegram, поэтому у меня будет два варианта:

  1. Использование веб-динамиков + сервер Flask с веб-перехватчиком для прослушивания назначенного порта
  2. Использование рабочего дино и периодический опрос сервера на наличие обновлений

В настоящее время, попробовав оба подхода, я использую второй: он кажется менее проблематичным (вероятно, настройка сервера Flask для чего-то такого простого приложения - не лучший подход), и он не требует особого внимания. для инфраструктуры.

А вы? Знаете ли вы какие-либо другие возможности или предложения? Не стесняйтесь и оставьте это в комментариях!