️ Этот проект устарел и больше не поддерживается. Вместо него мы рекомендуем использовать сервер разработки Temporal CLI.️
Temporalite — это дистрибутив Temporal, который работает как единый процесс без каких-либо зависимостей во время выполнения.
Сохранение на диске и режим в памяти поддерживаются через SQLite.
Посмотрите это видео для краткого ознакомления и демонстрации: youtu.be/Hz7ZZzafBoE [16:13] — начало демонстрации в 11:28.
Основная цель Temporalite — упростить и ускорить запуск Temporal локально или в средах тестирования.
Функции, соответствующие этой цели:
Загрузите и извлеките последнюю версию из выпусков GitHub.
Запустите временный сервер:
temporalite start --namespace default
На этом этапе у вас должен быть сервер, работающий на localhost:7233
, и веб-интерфейс по адресу http://localhost: 8233.
Используйте инструмент командной строки Temporal tctl
для взаимодействия с локальным сервером Temporalite.
tctl namespace list
tctl workflow list
Используйте флаг справки, чтобы увидеть все доступные параметры:
temporalite start -h
Пространства имен можно предварительно зарегистрировать при запуске, чтобы их можно было использовать сразу:
temporalite start --namespace foo --namespace bar
Регистрация пространств имен старомодным способом через tctl --namespace foo namespace register
тоже работает!
По умолчанию temporalite
сохраняет состояние в файле в каталоге конфигурации текущего пользователя. Этот путь может быть переопределен:
temporalite start -f my_test.db
Также доступен режим в памяти. Обратите внимание, что все данные будут потеряны при каждом перезапуске.
temporalite start --ephemeral
По умолчанию веб-интерфейс запускается с помощью Temporalite. Пользовательский интерфейс можно отключить с помощью флага времени выполнения:
temporalite start --headless
Для сборки без статических ресурсов пользовательского интерфейса используйте тег headless
build при запуске go build
.
Для некоторых расширенных применений требуются значения динамической конфигурации Temporal, которые обычно задаются через файл динамической конфигурации внутри файла конфигурации Temporal. В качестве альтернативы значения динамической конфигурации можно установить с помощью --dynamic-config-value KEY=JSON_VALUE
.
Например, чтобы отключить кеш атрибутов поиска и сразу же сделать созданные атрибуты поиска доступными для использования:
temporalite start --dynamic-config-value system.forceSearchAttributesCacheRefreshOnRead=true
Чтобы скомпилировать исходный код:
go build -o dist/temporalite ./cmd/temporalite
Чтобы запустить все тесты:
go test ./...