-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
ppodsednik edited this page Jan 7, 2026
·
6 revisions
sequenceDiagram
participant ExtApp as External App
participant Manager as Manager REST API
participant Worker as Worker
participant JVM as External JVM (Plugin)
ExtApp->>Manager: schedule(profil, payload)
Worker->>Manager: getNextScheduledProcess()
Manager-->>Worker: process + payload
Worker->>JVM: start PluginStarter with payload
JVM-->>Worker: execution result
Worker->>Manager: update process state (RUNNING, FINISHED, FAILED...)
- Tomcat REST aplikace se Swagger dokumentací
- Registry:
-
pcp_node– registrované Workery -
pcp_plugin– registrované pluginy -
pcp_profile– profily pluginů
-
- Scheduling:
- externí aplikace volají
schedule→ procesPLANNED - Worker si proces vyzvedne →
NOT_RUNNING - Worker spouští JVM →
RUNNING→ reportuje stav →FINISHED/FAILED/KILLED
- externí aplikace volají
- Batch / subprocesy:
- Plugin může sám schedulovat další procesy
- Manager preferuje batch affinity pri vyberu procesu ke zpracovani
- REST endpointy pro informace z tabulek, download logů, delete/kill procesů
- Dashboard UI
Manager používá několik hlavních tabulek v databázi:
| Tabulka | Popis |
|---|---|
| pcp_node | Registrované Workery a jejich metadata |
| pcp_plugin | Registrované pluginy |
| pcp_profile | Profily pluginů, včetně JVM parametrů a payload definic |
| pcp_process | Naplánované a běžící procesy, jejich stav, batch_id, payload a logy |
-
Worker = framework + pluginy – Worker je aplikační framework, který poskytuje běhové prostředí:
- Polling smyčka, REST API, logování
- PluginStarter a PluginContext pro spuštění pluginů v separátním JVM
-
Plugin – konkrétní úloha, kterou Worker dokáže spustit (např.
import,index) - Profil – konfigurace spuštění pluginu, obsahuje JVM parametry
- Worker načte
profile.jsonkaždého pluginu při startu a registruje schopnosti u Managera - Polling workflow:
- Worker se dotazuje Managera na naplánované procesy (
getNextScheduledProcess) - Spustí externí JVM pro daný plugin
- Reportuje stav procesu zpět do Managera
- Worker se dotazuje Managera na naplánované procesy (
Odkazy: Home, Plugin Build & Worker Build