xenon
@xenon
Too drunk to fsck

Как сделать простой автозапуск питоновских скриптов?

Сложное приложение состоит из разных модулей, часть из них опциональна. Например:
- Веб-интерфейс через WSGI
- Какой-то фоновый обработчик заданий
- Почтовый сервис
- Телеграм бот
- ...

Естественно, все они должны запускаться при старте, либо периодически из крона. Получается сложная схема установки, когда нужно сначала сделать pip3 install package (установили телеграм бот), затем надо где-то в пакете телеграм-бота иметь файл systemd сервис, скопировать его в /etc/systemd/system/, поправить пути (потому что может быть установлено в virtualenv)... В общем, много сложностей. Аналогично с установкой в крон - лишние шаги.

Хочется чтобы установка нового модуля и его интеграция (с параметрами по-умолчанию) делались одной командой.

Как вариант - сделать .deb пакет - тогда systemd скрипт сам будет в нем. Но тогда прощай vurtualenv.

Сейчас есть идея сделать какой-то один "стартователь", который будет при своем старте смотреть все дочерние классы и запускать их. Тогда при установке (pip3 install ...) нового пакета с таким классом, стартователь его обнаружит при запуске и запустит. Но может быть уже есть что-то подобное, или может задача как-то проще решается?
  • Вопрос задан
  • 36 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы