Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Venv на хостинге отключается, когда выключаешь свой комп и/или браузер. Соотв., выключается скрипт на python и всё тихо.

Denis K Знаток (490), на голосовании 4 месяца назад
Виртуальное окружение venv на хостинге отключается, когда я выключаю свой комп и/или браузер. Надо сделать, чтобы скрипт продолжал работать на хостинге (чат-бот). Человек из поддержки предложил screen, но это что-то не то. Запускал по cron, что-то пошло не так.
Нужно, чтобы script.py продолжал сам по себе работать, принимал запросы, отправлял ответы. Типовое решение.
Дополнен 5 месяцев назад
venv - среда с питоном нужной версии в своем каталоге, в котором запускается скрипт
Дополнен 5 месяцев назад
Поправочка. У этих ребят дополнительно стоит тайм-аут на shell сессию. То есть нельзя просто оставить свой комп включенным. Надо что-то решать!
Голосование за лучший ответ
CausonQ Мудрец (13342) 5 месяцев назад
Я у себя использую systemd
Denis KЗнаток (490) 5 месяцев назад
У этих ребят на хостинге всё глухо. Поддержка 5 часов думает. До systemd могу не добраться. Посмотри пож., что я выяснил/предпринял:
1 Centos 7
2 строчка для запуска нужного питона: /opt/python/python-3.10.1/bin/python
3 у себя в каталоге (не помню, каким способом) сделал каталог venv на этом питоне (3.10). Теперь у меня работает pip install и все возможности "домашнего компа"
4 внутри каталога venv лежит zdes/bot-script.py
5 -bash-4.2$ source venv/bin/activate запуск среды
6 (venv) -bash-4.2$ python venv/zdes/bot-script.py
= все работает на 3.10 ... пока открыт Shell этим процессом.

Кроме этого, есть скрипт start.sh для bash для пунктов 5 и 6 (он работает)
#!/usr/bin/env bash
source venv/bin/activate
python venv/zdes/soundbot.py
= я думал через крон запускать start.sh
CausonQ Мудрец (13342) Denis K, ну правильно. ты просто из терминала запускаешь скрипт. когда закрываешь терминал - все останавливается. или через крон запускай. тебе нужен любой планировщик
Denis KЗнаток (490) 5 месяцев назад
Через крон получилось. Только адрес до стартового файла ./start.sh
CausonQ Мудрец (13342) Denis K, Ну и отлично. Через крон я ток ставил скрипт, который запускается по расписанию раз в сутки. А так использую systemd: start, stop, restart да и все
Похожие вопросы