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 - сформировать окружение.