Aufträge laufen als pg-boss-Jobs im worker. Der Phasen-Runner der Engine kennt weder Proxmox noch Datenbank; eine Senke schreibt Phasen und Log in die DB und meldet per NOTIFY, die app streamt per SSE an Web und CLI (Last-Event-ID, Herzschlag, Polling-Fallback im Browser). VMIDs vergibt eine Advisory-Sperre je Server zusammen mit einer Reservierungstabelle; zehn parallele Reservierungen im Test bekommen zehn verschiedene IDs. Der Proxmox-Client hat einen Trockenmodus für den Dry-Run: Lesendes echt, Schreibendes nur aufgezeichnet. Live-Ansicht im Aufbau der CLI-Ausgabe. Im echten Betrieb aufgefallen: ssh2 und pg sind CommonJS und brauchen im worker Default-Importe. Closes #006 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
19 lines
683 B
TypeScript
19 lines
683 B
TypeScript
import type { StatusArt } from "@/components/status";
|
||
import type { AuftragSicht } from "@/lib/schemas/auftrag";
|
||
|
||
/** Beschriftungen für Aufträge – geteilt von Verlauf, Übersicht und Live-Ansicht. */
|
||
export const STATUS_ANZEIGE: Record<AuftragSicht["status"], [StatusArt, string]> = {
|
||
WARTEND: ["offen", "wartet"],
|
||
LAEUFT: ["laeuft", "läuft"],
|
||
ERFOLGREICH: ["erledigt", "erfolgreich"],
|
||
FEHLGESCHLAGEN: ["fehler", "fehlgeschlagen"],
|
||
ABGEBROCHEN: ["fehler", "abgebrochen"],
|
||
AUFGERAEUMT: ["offen", "aufgeräumt"],
|
||
};
|
||
|
||
export const ART_TEXT: Record<AuftragSicht["art"], string> = {
|
||
AUSROLLEN: "Ausrollen",
|
||
TEMPLATE_BAUEN: "Template",
|
||
AUFRAEUMEN: "Aufräumen",
|
||
};
|