Зачем строить диспетчер внутри компоновки? - PullRequest
9 голосов
/ 02 мая 2010

Я видел рецепты компоновки, которые встраивают супервизор в компоновку, я полагаю, для управления демонами внутри. Тем не менее, мне кажется, что в /etc/init.d (например) все еще нужно что-то для запуска указанного экземпляра супервизора при загрузке.

Итак, зачем строить диспетчер внутри сборки? Почему бы не установить его для всей системы и просто сделать файл конфигурации для демонов, задействованных внутри?

1 Ответ

9 голосов
/ 02 мая 2010

Когда мы создаем сборку для клиента, мы хотим, чтобы эта сборка работала в произвольных средах размещения с минимальными зависимостями, и все это удовлетворяется системными пакетами. Включая supervisord в сборку, мы избавляем от необходимости его установки в масштабе всей системы и можем точно настраивать его параметры, не обращаясь к системному администратору с просьбой изменить настройки для нас.

Легко заставить супервизор запускаться во время загрузки из сборки, используя рецепт usercrontab:

[supervisor-cron]
recipe = z3c.recipe.usercrontab
times = @reboot
command = ${buildout:bin-directory}/supervisord -c ${buildout:directory}/etc/supervisord.conf

Приведенная выше часть добавит запись в crontab, которая заставит супервизор работать во время загрузки.

...