
У меня есть Debian 10 VPS, и я хочу запускать на нем скрипт Python круглосуточно.
В чем разница между запуском в фоновом режиме и установкой в качестве системной службы?
Каков наилучший способ добиться того, чтобы мой скрипт работал в фоновом режиме 24/7?
решение1
Вы можете «создать свою собственную» логику сервиса Python, но зачем изобретать велосипед, если управление системными сервисами стандартизировано и является передовой практикой во всей отрасли?
Если вы запускаете какой-либо скрипт в фоновом режиме, он просто выполняется под вашим пользователем в фоновом режиме, и вы единственный человек, который может с ним справиться.
Если он работает как служба, система поддерживает приложение в рабочем состоянии. Преимущество — автоматический перезапуск при перезагрузке и т. д. И даже использование установленных инструментов для управления службой. Вы могли бы, возможно, сделать похожую работу только на Python, но вы бы изобрели велосипед и делали бы это по сути как работа системного администратора, а не как разработчика.
Все сводится к тому, что ваше приложение будет технически работать в любом случае. Но использование устоявшихся лучших практик для поддержания работоспособности скриптов и приложений избавит вас от множества головных болей в долгосрочной перспективе и будет более здоровым подходом к разработке и развертыванию.