LINUX.ORG.RU

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

 ,


2

4

Приветствую.

Есть небольшое количество (скажем десяток) мелких скриптов-демоненков. Периодически некоторые выкидываются за ненадобностью, другие добавляются, и т. д. Скрипты на Python. Сейчас все запускается и мониторится вручную в screen.
Собственно вопрос, как этим удобно управлять? Хотелось бы какой-то application server в духе Tomcat или uwsgi в который можно было бы кидать новый скрипт, а управление и логирование ложилось на плечи этого сервера.
Есть ли Tomcat в Python-мире? Как вы решаете эту задачу?

★★★★★

Ответ на: комментарий от alpha

Ок. На сколько просто в systemd сделать чтобы для нужного юнита stdout писался в отдельный лог, и ротировался?
Я к тому, чтобы управлять этим штатно нужно размазываться по системе: положить systemd-unit в нужное место, положить конфиг для логротейта, и т.п. В том же uwsgi правишь один конфиг и все остальное унифицировано. Я так и делаю для вещей посерьезней, но для мелких скриптов-парудневок неохота так заморачиваться.

urxvt ★★★★★ ()
Последнее исправление: urxvt (всего исправлений: 1)
Ответ на: комментарий от urxvt

Я к тому, чтобы управлять этим штатно нужно размазываться по системе: положить systemd-unit в нужное место, положить конфиг для логротейта, и т.п. В том же uwsgi правишь один конфиг и все остальное унифицировано

если у тебя instanticated unit - то это и есть унифицированный конфиг, в котором можно редиректить вывод скрипта в какой-то шаблонизированный путь: python scripts/%i > logs/%i.log

другое дело что на самом деле тебе скорее всего нужно не «класть логи в отдельный файл», а «уметь читать логи конкретного сервиса». А класть их в отдельный файл ты хочешь потому что это один из способов как это можно организовать.

Но с systemd всё проще.

journalctl -u custom-script@*

и так покажет тебе логи только этих твоих сервисов, при этом позволяет ещё добавить разных фильтров и временных рамок, что удобно для использования вручную

alpha ★★★★★ ()