Skip to content

txix-open/mqpusher

Repository files navigation

mqpusher

Инструмент mqpusher предназначен для передачи данных из различных источников в одну очередь RabbitMQ. Также есть возможность выполнить скрипт на языке JavaScript для каждой строки данных перед отправкой их в очередь. На данный момент поддерживаются следующие источники:

  • CSV-файл
  • JSON-файл (один объект JSON на строку)
  • множество JSON-файлов (каждый файл — один объект JSON; имя файла — requestId)
  • SQL-запросы для базы данных PostgreSQL
  • очередь RabbitMQ

Настройка утилиты задается через файл конфигурации, например conf/config.yml. Ограничений на количество типов источников в конфигурации нет. Выбор источника данных осуществляется посредством его указания в соответствующей опции команды publish.

Чтобы сгенерировать файл конфигурации рядом с исполняемым файлом утилиты mqpusher, необходимо выполнить следующую команду:

mqpusher generate-config
# Для этой команды также доступны следующие алиасы: gen-cfg, generate-cfg, gen-config

Для запуска утилиты mqpusher в режиме публикации данных в очередь, необходимо выполнить следующую команду:

mqpusher publish [options...]

Для команды publish доступны следующие опции:

--source string, -s string      Тип источника данных для публикации (доступные значения: csv, json, db, rmq)
--filepath string, -f string    Путь до файла выбранного источника данных (используется для csv и json источников)
--script string                 Путь до файла со скриптом преобразования данных на JavaScript
--log-interval string           Интервал прогресса логирования (пример: 15s) 
--sep string                    Переопределение разделителя для csv файла
--log-msg, -l                   Включить логирование публикуемых в очередь сообщений
--sync                          Включить синхронную публикацию данных в целевую очередь
--plain-text                    Включает режим отправки 'plainText': вычитка и отправка данных из источника происходят 'как есть', минуя десериализацию. Данный режим принудительно отключает выполнение скрипта (используется для json и rmq источников).

Важно

  • Некоторые настройки конфигурации могут быть переопределены с помощью вышеуказанных опций.
  • Для публикации множества JSON-файлов укажите в опции filepath путь к директории с ними.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •