надеюсь, что кто-то мне сможет помочь.
(извиняюсь, если какую-то глупость напишу, я в хостинге не очень умный)
Сейчас я деплою своих ботов на виртуальном хостинге от hostiq, и там есть CPanel. А в нём есть python. Я открываю терминал, и через него выполняю команду:
source /.../.../.../mypythonbot/3.8/bin/activate && cd /.../.../public_html/telegrambot && python bot.py
Всё запускается, но через 20 минут перестаёт работать. Пробовал использовать ещё nohup, но всё-равно перестаёт работать через 20 минут.
Как решение я выполняю вышеуказанную команду через cron каждые 20 минут. И вроде-бы всё хорошо, но мне это не очень нравится, хотелось бы, чтобы бот работал постоянно, 24/7, а не перезапускался по 100 раз в день.
Собственно, вопрос: что мне нужно сделать, чтобы процесс не завершался каждые 20 минут? Может я что-то не понял, и для деплоя мне нужен не виртуальный хостинг, а что-то другое? Я буду очень благодарен за ответы и советы
heroku?
Бот использует json файл, который постоянно меняется, и иногда нужно вручную менять, поэтому не вариант. (Хероку не сохраняет файлы) Именно по этой причине перешёл с хероку на платный хостинг
просто используй базу данных
у хероку есть посгре. а твои вырубоны - хаебы хоста какие то. Выя\сни у поддержики что не так, либо запихай все свои кишки в субд
Я думал над этим, но я так и не смог разобраться, как подключиться через python к базе данных, используя SSH тунель. Видел примеры только прямого подключения, но на моём хостинге нельзя напрямую подключиться
чё за хуйня у тебя там вообще происходит. обычно если бот едва нагружен, базу можно поднять на этом же впс и всё
Я уже написал в поддержку хоста, утром они ответят, что за херня с отключением каждые 20 минут. Напоследок хотел спросить, есть ли разница между виртуальным хостингом и VPS?
Возьми нормального хоста и все, а про виртуализацию в интернете тонна статей
Скажи что за хостер, добавлю к себе в чёрный список
Пришёл ответ от поддержки, если ещё интересно. Дословно ответ звучит так:"Проблема связана с тем, что сервер останавливает ssh сессию после 20 минут её выполнения. Делать "вечные" сессии на виртуальном сервере мы не можем, поэтому, как альтернативный вариант, можете изменить тарифный план на VPS. То есть всё как я и думал, виртуальный сервер не подходит для деплоя. Спасибо всем за советы, я уже немного во всём этом разобрался, и дальше смогу всё сделать так, как мне нужно
а почему ты на "виртуальном сервере" запускаешь по ssh? в них обычно есть своя тулза для запуска кода
Никакой такой тулзы, к сожалению, никогда не видел и не слышал о таком. Там есть возможность создать "python приложение", но тогда оно вообще работает только если открыть страницу приложения в браузере, и перестаёт работать при закрытии, что ещё хуже перезапуска каждые 20 минут
в смысле "работает только если открыть страницу"? веб приложения в принципе делают для того чтобы обработать запрос открытия страницы
а ты можешь установить приложения которые вместо тебя делают python main.py ? типа systemd или pm2
Ты там бота на поллинге что ли решил запустить?
Обсуждают сегодня