️ Este proyecto está en desuso y ya no se mantiene; recomendamos utilizar el servidor de desarrollo CLI temporal en su lugar.️
Temporalite es una distribución de Temporal que se ejecuta como un proceso único sin dependencias de tiempo de ejecución.
La persistencia en disco y el modo en memoria son compatibles a través de SQLite.
Mire este video para obtener una breve introducción y una demostración: youtu.be/Hz7ZZzafBoE [16:13] - la demostración comienza a las 11:28
El objetivo principal de Temporalite es hacer que sea sencillo y rápido ejecutar Temporal localmente o en entornos de prueba.
Características que se alinean con este objetivo:
Descargue y extraiga la última versión de las versiones de GitHub.
Iniciar servidor temporal:
temporalite start --namespace default
En este punto debería tener un servidor ejecutándose en localhost:7233
y una interfaz web en http://localhost:8233.
Utilice la herramienta de línea de comandos tctl
de Temporal para interactuar con el servidor Temporalite local.
tctl namespace list
tctl workflow list
Utilice la bandera de ayuda para ver todas las opciones disponibles:
temporalite start -h
Los espacios de nombres se pueden registrar previamente al inicio para que estén disponibles para su uso de inmediato:
temporalite start --namespace foo --namespace bar
¡Registrar espacios de nombres a la antigua usanza a través de tctl --namespace foo namespace register
también funciona!
De forma predeterminada, temporalite
persiste en el estado en un archivo en el directorio de configuración del usuario actual. Esta ruta puede anularse:
temporalite start -f my_test.db
También está disponible un modo en memoria. Tenga en cuenta que todos los datos se perderán en cada reinicio.
temporalite start --ephemeral
De forma predeterminada, la interfaz de usuario web se inicia con Temporalite. La interfaz de usuario se puede desactivar mediante un indicador de tiempo de ejecución:
temporalite start --headless
Para compilar sin recursos de interfaz de usuario estáticos, use la etiqueta de compilación headless
cuando ejecute go build
.
Algunos usos avanzados requieren valores de configuración dinámica temporal que generalmente se establecen mediante un archivo de configuración dinámica dentro del archivo de configuración temporal. Alternativamente, los valores de configuración dinámica se pueden establecer mediante --dynamic-config-value KEY=JSON_VALUE
.
Por ejemplo, para deshabilitar la caché de atributos de búsqueda para que los atributos de búsqueda creados estén disponibles para su uso de inmediato:
temporalite start --dynamic-config-value system.forceSearchAttributesCacheRefreshOnRead=true
Para compilar el código fuente, ejecute:
go build -o dist/temporalite ./cmd/temporalite
Para ejecutar todas las pruebas:
go test ./...