️ Dieses Projekt ist veraltet und wird nicht mehr gepflegt. Wir empfehlen stattdessen die Verwendung des Temporal CLI-Entwicklungsservers.️
Temporalite ist eine Distribution von Temporal, die als einzelner Prozess ohne Laufzeitabhängigkeiten ausgeführt wird.
Persistenz auf der Festplatte und ein In-Memory-Modus werden beide über SQLite unterstützt.
Schauen Sie sich dieses Video für eine kurze Einführung und Demo an: youtu.be/Hz7ZZzafBoE [16:13] – Demo beginnt um 11:28
Das Hauptziel von Temporalite besteht darin, die lokale Ausführung von Temporal oder in Testumgebungen einfach und schnell zu machen.
Funktionen, die diesem Ziel entsprechen:
Laden Sie die neueste Version von GitHub-Releases herunter und extrahieren Sie sie.
Temporalen Server starten:
temporalite start --namespace default
Zu diesem Zeitpunkt sollte ein Server unter localhost:7233
und eine Webschnittstelle unter „http://localhost:8233“ laufen.
Verwenden Sie das Befehlszeilentool tctl
von Temporal, um mit dem lokalen Temporalite-Server zu interagieren.
tctl namespace list
tctl workflow list
Verwenden Sie die Hilfe-Flagge, um alle verfügbaren Optionen anzuzeigen:
temporalite start -h
Namespaces können beim Start vorregistriert werden, sodass sie sofort zur Verwendung verfügbar sind:
temporalite start --namespace foo --namespace bar
Das Registrieren von Namespaces auf die altmodische Art über tctl --namespace foo namespace register
funktioniert auch!
Standardmäßig speichert temporalite
den Status in einer Datei im Konfigurationsverzeichnis des aktuellen Benutzers. Dieser Pfad kann überschrieben werden:
temporalite start -f my_test.db
Ein In-Memory-Modus ist ebenfalls verfügbar. Beachten Sie, dass bei jedem Neustart alle Daten verloren gehen.
temporalite start --ephemeral
Standardmäßig wird die Web-Benutzeroberfläche mit Temporalite gestartet. Die Benutzeroberfläche kann über ein Laufzeitflag deaktiviert werden:
temporalite start --headless
Um ohne statische UI-Assets zu erstellen, verwenden Sie beim Ausführen von go build
das headless
-Build-Tag.
Für einige erweiterte Anwendungen sind temporäre dynamische Konfigurationswerte erforderlich, die normalerweise über eine dynamische Konfigurationsdatei innerhalb der temporären Konfigurationsdatei festgelegt werden. Alternativ können dynamische Konfigurationswerte über --dynamic-config-value KEY=JSON_VALUE
festgelegt werden.
Um beispielsweise den Suchattribut-Cache zu deaktivieren, um erstellte Suchattribute sofort zur Verwendung verfügbar zu machen:
temporalite start --dynamic-config-value system.forceSearchAttributesCacheRefreshOnRead=true
Um die Quelle zu kompilieren, führen Sie Folgendes aus:
go build -o dist/temporalite ./cmd/temporalite
So führen Sie alle Tests aus:
go test ./...