Cronicle с Visiology Platform
Тип статьи | Инструкция |
---|---|
Компетенции | Администратор, аналитик |
Версия платформы | 2.28 |
Статус | бета |
Сложность | относительно несложно |
Полезные ссылки | GitHub - jhuckaby/Cronicle: A simple, distributed task scheduler and runner with a web based UI. |
Дополнительные сведения |
|
Введение
Часто функционала встроенного планировщика в платформе недостаточно: нужно более гибкое время, цепочки, перезапуск по ошибкам и тд. К тому же настройки разнесены по разным компонентам платформы, а правильнее иметь централизованный интерфейс управления запланированными задачами.
В качестве решения здесь предлагается сторонний open-source инструмент Cronicle, входящий также в сборку Vixtract. Cronicle запускается вместе с платформой и позволяет централизованно управлять всеми задачами в своем веб интерфейсе.
Механизм авторизации в Cronicle не связан с платформой, поэтому логиниться и управлять пользователями в нем нужно отдельно. При желании можно сделать интеграцию openid, включить LDAP, но это все отсутствует в коробке и требует компетенцией в Nodejs и времени на разработку (+ Google в помощь, могут появляться форки с уже реализованным доп функционалом).
Доступы по умолчанию: admin/admin
Инструкция по запуску.
Добавляем новый сервис в external.yml. Пример выше в файлах.
Редактируем /docker-volume/proxy/nginx.conf. Добавляем туда строки 251-310 из приложенного файла примера.
Перезапускаем платформы run.sh --restart.
Проверяем доступность cronicle. адрес_платформы/cronicle. admin/admin
Пример с планами загрузки.
Узнаем id своих планов загрузки в Postman:
curl --location --request GET 'http://192.168.44.217/vqadmin/api/databases/ViQube/loadplans/all/status' --header 'x-api-version: 1.0' --header 'accept: application/json' --header 'Authorization: Bearer eyJh...длинный токен'
Редактируем приложенный питон скрипт LoadPlanInvoke. Заменяем там логин, пароль, адрес и схему платформы и id плана загрузки.
Копируем этот скрипт в /var/lib/docker/volumes/visiology_vixtract-cronicle-data/_data/python/В Cronicle создавать Event с типом Shell скрипт.
#!/bin/bash cd /opt/cronicle/data/python python3 LoaderPlanInvoke.py
Запустить и проверить работу.
Аналогично можно создать еще один Event для снятия снапшота викуба и запускать его по цепочке после успешной отработки предыдущего Event на запуск планов. Он также выше в файлах.