Требуется установка Microsoft .NET 8
DaJet Stream Service (альфа-версия) - это программа, которая реализована как сервис Windows или демон Linux (поддерживается systemd), который выполняет скрипты DaJet Stream из указанного в настройках каталога. Программу можно также выполнять как обычный exe-файл. Исполняемый файл dajet расположен в корневом каталоге установки программы.
Каталог скриптов (настройка RootPath) может иметь любую структуру. Сервис будет искать скрипты DaJet Stream, как в корневом, так и во всех вложенных в него каталогах. Поиск файлов DaJet Stream выполняется по шаблону *.sql (то есть по расширению файла - sql).
Каждый файл скрипта DaJet Stream (конвейер обработки данных) выполняется сервисом в отдельном потоке операционной системы параллельно и независимо друг от друга. Те скрипты, которые используют команду CONSUME выполняются бесконечно до полной остановки службы. Именно таким образом реализуется концепция потокового обмена данными. Остальные скрипты выполняются одноразово и могут быть использованы, например, для выгрузки или переноса данных.
В текущей реализации логирование выполняется всеми конвейерами (потоками выполнения) в один файл службы, указанный в настройках. Макисмальный размер файла лога означает, что по его достижению файл перезаписывается с самого начала. Логирование действий сервиса имеет больше диагностическое значение для правильной настройки подключений к базам данных и внешним сервисам. Именно поэтому не имеет смысла делать лог большим - достаточно иметь информацию за последние 15-30 минут работы. Практика использования аналогичных сервисов DaJet показала, что такой подход вполне достаточен и удобен.
Исполняемый файл dajet имеет один необязательный параметр запуска - путь к файлу настроек сервиса.
Файл настроек должен быть в формате JSON с кодировкой UTF-8.
Если файл настроек при запуске сервиса не указан, то будут использоваться значения по умолчанию.
Запуск сервиса DaJet Stream
(из корневого каталога установки)
Параметр | Windows | Linux |
---|---|---|
Нет | dajet | dotnet ./dajet.dll |
Да | dajet ./config.json | dotnet ./dajet.dll ./config.json |
Значения настроек сервиса по умолчанию
Наименование | Тип значения | Значение | Описание |
---|---|---|---|
LogSize | Число | 1048576 | Макисмальный размер лога службы в байтах |
LogFile | Строка | dajet.log | Наименование файла лога службы |
LogPath | Строка | ./ | Каталог размещения файла лога службы |
RootPath | Строка | ./stream | Каталог размещения скриптов DaJet Stream |
Пример файла настроек сервиса config.json
{
"LogSize": 524288,
"LogFile": "dajet-stream.log",
"LogPath": "./log",
"RootPath": "./scripts"
}
Текущая версия программы имеет статус альфа-версии. Конструктивная критика, комментарии и предложения приветствуются и помогут сделать DaJet Stream Service ещё лучше!