Skibidoov0.1.0

Betriebsmodi

Ein Image, drei Prozessrollen. API, Worker und Scheduler werden über MODE gewählt.

Derselbe Build startet je nach Umgebungsvariable MODE in einer von drei Rollen (src/index.ts):

MODE Aufgabe Redis nötig
api (Standard) HTTP-Server mit REST, tRPC, Webhooks, Health und Metriken nein, aber für Brute-Force-Schutz empfohlen
worker Verarbeitet die BullMQ-Queues ja
scheduler Legt die wiederkehrenden Jobs an ja

Ohne REDIS_URL brechen worker und scheduler mit einer Fehlermeldung ab. Die API läuft auch ohne, dann fehlen allerdings die Funktionen, die Redis voraussetzen (Job-Queues, Brute-Force-Schutz beim Login).

Die Rollen lassen sich damit getrennt skalieren: ein oder mehrere API-Prozesse, ein Worker, genau ein Scheduler.

Health und Metriken

Pfad Inhalt
GET /health { "status": "ok", "mode": "…" }
GET /health/ready { "status": "ready" }
GET /metrics Prometheus-Format

Diese Seite auf GitHub bearbeiten · Doku für v0.1.0