Я относительно плохо знаком с Марионеткой и недавно наследовал очень большую инфраструктуру (Марионеточные 3.6 в ряде RHEL 6 машин).
Моя Марионеточная инфраструктура немного походит на это:
У меня есть my_module:: mysql, который и установки и настраивает MySQL (на основе параметров передал ему из Панели инструментов или других классов, которые включают его). Среди многих других вещей это устанавливает местоположение файлов журнала. (Существует много других классов как это, и иногда этот класс можно назвать несколькими различными путями на том же узле.)
У меня теперь есть my_module:: канал, который устанавливает и настраивает Канал Apache, таким образом, я могу поставить некоторые журналы в другое место.
Моя проблема: Мне нужен my_module:: канал для знания, где каждый экземпляр my_module:: mysql помещают его файлы журнала, таким образом, это может добавить файлы журнала к конфигурационному файлу Канала.
Что лучший способ состоит в том, чтобы сделать это? Я думаю, что хочу смочь добавить к своего рода ресурсу (глобальная переменная или файл), что каждый класс может добавить путь к файлу к, таким образом, my_module:: канал может выполнить итерации через список и добавить каждый путь к файлу конфигурации, но я не уверен, как сделать это, все еще удостоверяясь что:
- Список файлов журнала запускается за каждый раз Марионеточные выполнения (так, например, файлы журнала, которые больше не существуют, не находятся все еще в списке.)
- Класс Канала оценен только после того, как все другие классы добавили пути к списку.
Любой вход ценился бы.
Вам следует
my_module :: mysql
создавал виртуальный фрагмент concat my_module :: flume
реализует все эти виртуальные сниппеты Этого вполне может быть достаточно для решения всей проблемы.