multipoint_temp_processing.py#

Обработка шлюзов с многоточечным подключением. Многоточечное подключение — это технология обработки сообщений с нескольких адаптеров. При обнаружении в шлюзе конфигурации многоточечного подключения (функция getConnectionsVarName) происходит формирование общего env-файла для многоточечного шлюза (функция envUnion). Для этого, сформированные ранее env-файлы для соединений будут объединены в один. Все переменные в каждом env-файле, в которых встречаются: PEER, QM_CHANNEL, QM_NAME, QM_HOST, QM_PORT, QM_TOKEN, будут удалены из соответствующего файла и добавлены в словарь, ключи которого будет иметь следующее соответствие:

PEER -> sslPeerName

QM_CHANNEL -> channel

QM_NAME -> queueManager

QM_HOST -> hostname

QM_PORT -> port

QM_TOKEN -> token

Для каждого env-файла будет создан данный словарь и далее добавлен в общий массив таких словарей. Остальные переменные просто соединяются в один файл. В итоговом файле появится соответствующая Json-переменная, состоящая из ранее сформированного массива словарей. При обработке к queueManager происходит конкатенация token и token удаляется из итогового словаря.

Формат номера порта (параметр ${ConnectionsVarName}.port):

  • переводится из строкового типа к целочисленному, если параметр не задан и формируется Jenkins Job

  • остается без изменений, если параметр был определен разработчиком в репозитории стендозависимых параметров

Шаги:

  • Добавление опций, используя parsing командной строки:

    " -t", "--template-path" - имя и расположение template-файла
    " -e", "--envs" - имя и расположение env-файла
    " -f", "--function" - название запускаемой функции

  • Инициализация экземпляра класса

  • Получение аттрибута объекта по имени

  • Выполнение функции класса, указанной в опциях

Функции класса:

  • getConnectionsVarName - получить название(имя) соединений;

  • envUnion - сформировать окружение.