Produktverwaltung
Produkt-Detail-Ansicht
Jedes installierte Produkt hat eine Detail-Seite mit:
- Produktinformationen — Typ, Installationsdatum, PID, Neustart-Zähler
- Health-Status — Wenn das Produkt eine Health-Route bereitstellt
- Aktionsbuttons — Starten, Stoppen, Neustarten, Aktualisieren
- Live-Logs — Echtzeit-Log-Ausgabe mit Auto-Scroll
- Produkt-URL — Direkt-Link zum Produkt (falls vorhanden)
- Detail-Komponente — Optionale produktspezifische Ansicht
Prozess-Management
Produkte vom Typ npx laufen als eigenständige Prozesse:
| Aktion | Beschreibung |
|---|---|
| Starten | Spawnt einen Node.js-Prozess mit der ausführbaren Datei des Pakets |
| Stoppen | Sendet SIGTERM, nach 10 Sekunden SIGKILL |
| Neustarten | Stoppen + Starten |
| Auto-Restart | Abgestürzte Prozesse werden nach 5 Sekunden automatisch neu gestartet (sofern nicht explizit gestoppt) |
Logs
Zwei Log-Quellen stehen zur Verfügung:
In-Memory-Logs
- Die letzten 1000 Zeilen werden im Arbeitsspeicher gehalten
- Live über Socket.IO gestreamt
- Über die API abrufbar:
GET /api/products/:id/logs?limit=100
Log-Datei
- Persistente Datei (
output.log) im Produktverzeichnis mit Zeitstempeln - Über die API abrufbar:
GET /api/products/:id/logfile?lines=500 - Speicherort:
~/.processcube/products/<Produkt>/output.log
Zusätzlich schreibt jede Lifecycle-Methode eine eigene Log-Datei:
| Datei | Beschreibung |
|---|---|
deploy.log | Ausgabe während des Deployments |
start.log | Ausgabe während des Starts |
output.log | Laufende Prozess-Ausgabe |