- Add flake.nix with dev shell - Add NixOS module for Azion runtime config - Add direnv .envrc for auto-activation - Update .gitignore with .p*, result, .worktrees/, docs/, .direnv/
AZion Scheduler – High-Performance Process Dashboard
AZion is a specialized Vite + React SPA designed for high-performance visualization and management of server-side processes, using Baserow as a headless backend.
🚀 Quick Start
- Install dependencies:
npm install - Setup environment: Rename
.env.exampleto.envand provide your Baserow API details. - Run Dev server:
npm run dev
🛠 Baserow & n8n Integration Guide
This section outlines the exact internal logic the AZion dashboard uses to parse scheduling parameters. When inserting or updating records via an automation runtime like n8n, your JSON payload sent to the Baserow API must structurally respect these dependencies.
1. Global / Universal Fields
These fields are required or heavily impact the UI regardless of the execution type.
Name(Single-line text): The display name of the process.Server(Linked row): Reference ID linking back to the Server Table. n8n payload syntax:[123](Array of IDs).Sortierung(Number): The rendering order integer.1is pushed to the top of the timeline track.Dauer(Single-line text or Number): Always specified in SECONDS. Defines the length of the visual block. (e.g., passing"1800"renders a 30-minute block).Farbe(Single-line text): The hex code for the visual block. (e.g.,"#3b82f6").Status(Single select): E.g.,aktiv,inaktiv,fehler.Sichtbarkeit(Single select): Declares semantic zoom constraints (Immer,Max 6 Stunden,Max 1 Tag,Max 1 Woche,Max 1 Monat).
2. Dynamic Scheduling via Wiederholung
The logic engine evaluates time solely based on what string is stored inside the Wiederholung (Single select) column.
Pattern A: Standard Execution
Applies to: TAEGLICH, WOECHENTLICH, WERKTAGE, WOCHENENDE, MONATLICH_FESTER_TAG
These patterns expect a singular, definitive time of day.
- n8n Setup:
Wiederholung:"TAEGLICH"Start:"HH:MM:SS"(e.g.,"08:30:00").Dauer:"60"(60 seconds).
Pattern B: Hourly Execution (STUENDLICH)
- n8n Setup:
Wiederholung:"STUENDLICH"Start Minute:45(Integer 0–59).Dauer:"120"(2 minutes).
Pattern C: Custom Interval (INTERVALL)
Recurrent blocks bounded between two timestamps.
- n8n Setup:
Wiederholung:"INTERVALL"Erste Ausführung:"HH:MM:SS"(Start bounds).Ausführung bis:"HH:MM:SS"(End bounds).Intervall zwischen:"3600"(Spacing in SECONDS).Dauer:"300"(Duration in SECONDS).
3. Example JSON Payload (n8n / API)
{
"Name": "API Heartbeat Checker",
"Server": [45],
"Wiederholung": "INTERVALL",
"Erste Ausführung": "08:00:00",
"Ausführung bis": "17:00:00",
"Intervall zwischen": "300",
"Dauer": "15",
"Status": "aktiv",
"Farbe": "#22c55e",
"Sortierung": 8
}
🧠 Performance & Logic Notes
- Block Merging: The Gantt Chart automatically merges overlapping blocks from the same process to prevent DOM flooding when zoomed out.
- Max View Filter: High-frequency tasks (like 1-min intervals) are hidden in Monthly/Weekly views unless
Sichtbarkeitis set to "Immer" to maintain UI responsiveness. - Auto-Sort: The frontend automatically finds the next highest
Sortierungindex when creating new tasks via the GUI.