Несколько Марионеточных классов должны получить доступ к ресурсу и добавить значение к нему, таким образом, другой класс может выполнить итерации через него после того, как другие классы оценены

Я относительно плохо знаком с Марионеткой и недавно наследовал очень большую инфраструктуру (Марионеточные 3.6 в ряде RHEL 6 машин).

Моя Марионеточная инфраструктура немного походит на это:

У меня есть my_module:: mysql, который и установки и настраивает MySQL (на основе параметров передал ему из Панели инструментов или других классов, которые включают его). Среди многих других вещей это устанавливает местоположение файлов журнала. (Существует много других классов как это, и иногда этот класс можно назвать несколькими различными путями на том же узле.)

У меня теперь есть my_module:: канал, который устанавливает и настраивает Канал Apache, таким образом, я могу поставить некоторые журналы в другое место.

Моя проблема: Мне нужен my_module:: канал для знания, где каждый экземпляр my_module:: mysql помещают его файлы журнала, таким образом, это может добавить файлы журнала к конфигурационному файлу Канала.

Что лучший способ состоит в том, чтобы сделать это? Я думаю, что хочу смочь добавить к своего рода ресурсу (глобальная переменная или файл), что каждый класс может добавить путь к файлу к, таким образом, my_module:: канал может выполнить итерации через список и добавить каждый путь к файлу конфигурации, но я не уверен, как сделать это, все еще удостоверяясь что:

- Список файлов журнала запускается за каждый раз Марионеточные выполнения (так, например, файлы журнала, которые больше не существуют, не находятся все еще в списке.)

- Класс Канала оценен только после того, как все другие классы добавили пути к списку.

Любой вход ценился бы.

1
задан 24 August 2015 в 21:02
1 ответ

Вам следует

  1. Управлять файл конфигурации с помощью модуля concat .
  2. Сделайте так, чтобы каждый экземпляр my_module :: mysql создавал виртуальный фрагмент concat
  3. Have my_module :: flume реализует все эти виртуальные сниппеты

Этого вполне может быть достаточно для решения всей проблемы.

1
ответ дан 4 December 2019 в 00:01

Теги

Похожие вопросы