Zadania
W tej sekcji opisane są typy Zadań i instrukcja jak dodać nowy typ zadań
ScheduledTask
Ten typ Zadania obsługuje dwa sposoby periodycznego uruchamiania:
interwał - co określoną ilość sekund, minut, godzin, dni
cron - w określonym momencie zgodnie z podaną wartością w formacie cron (https://crontab.guru/) - po wywołaniu Zadania obliczany jest następny moment, kiedy ma być wywołane. https://help.qlik.com/en-US/compose/May2022/Content/ComposeDWDL/Main/DW/Cron%20Format%20and%20Examples/cron_format_and_example.htm
ConnectorStateTask
Ten typ tasks monitoruje stan konektora w kafka connect. Jeśli konkretor się wywala (przechodzi w stan FAILED) lub zrestartował (z RESTARTING -> na RUNNING) wywołuje Trigger
KafkaStateTask
Ten typ tasks monitoruje stan kafka connect. Jeśli nie działa to wywołuje Trigger. Tylko jedno Zadanie tego typu może być uruchomiona
Dodawanie nowych Zadań
Zakładamy, że nowe zadanie będzie dziedziczyć po ScheduledTask
Dodanie nowej wartości enum TaskType
Nadpisanie wszystkich klas związanych z Zadaniem
ScheduledTask -> definiujemy funkcję runCheck, gdzie zapisujemy logikę Zadania
ScheduledTaskBuilder -> definiujemy funkcje budujące instancję Zadania na podstawie options i global options
ScheduledTaskOptions -> definiujemy indywidualne opcję potrzebne dla Zadania
ScheduledTaskOptionsGlobal -> definiujemy globalne opcję potrzebne dla Zadania
ScheduledTaskService -> definiujemy funkcje konieczne do obsługi life-cycle Zadania
ScheduledTaskOptionsRepository -> repo dla Options
ScheduledTaskOptionsPojo -> pojo, mapowane z i do Options
ScheduledTaskOptionsGlobalRepository -> repo dla GlobalOptions
ScheduledTaskOptionsGlobalPojo -> pojo, mapowane z i do GlobalOptions
Napisanie enuma z listą akcji w kontrolerze oraz kontrolera obsługującego lifecycle Zadania pod ścieżką tasks/[TASK_TYPE]
Last updated