Как сделать простой автозапуск питоновских скриптов?
Сложное приложение состоит из разных модулей, часть из них опциональна. Например:
- Веб-интерфейс через WSGI
- Какой-то фоновый обработчик заданий
- Почтовый сервис
- Телеграм бот
- ...
Естественно, все они должны запускаться при старте, либо периодически из крона. Получается сложная схема установки, когда нужно сначала сделать pip3 install package (установили телеграм бот), затем надо где-то в пакете телеграм-бота иметь файл systemd сервис, скопировать его в /etc/systemd/system/, поправить пути (потому что может быть установлено в virtualenv)... В общем, много сложностей. Аналогично с установкой в крон - лишние шаги.
Хочется чтобы установка нового модуля и его интеграция (с параметрами по-умолчанию) делались одной командой.
Как вариант - сделать .deb пакет - тогда systemd скрипт сам будет в нем. Но тогда прощай vurtualenv.
Сейчас есть идея сделать какой-то один "стартователь", который будет при своем старте смотреть все дочерние классы и запускать их. Тогда при установке (pip3 install ...) нового пакета с таким классом, стартователь его обнаружит при запуске и запустит. Но может быть уже есть что-то подобное, или может задача как-то проще решается?