Temporal workflow result storage in Redis with TTL, retry, and batching
Project description
temporal_redis
temporal_redis — это лёгкая асинхронная библиотека для хранения результатов Temporal Workflow в Redis.
Поддерживает:
- Redis Hash (workflow_id → JSON-данные)
- Глобальный TTL (по умолчанию сутки)
- Переопределяемые параметры (
redis_url,prefix,ttl) - Retry-политику с экспоненциальным бэкоффом (через
tenacity) - Пакетные операции (
store_results,get_results,delete_results, …) - Прямая совместимость с
pydantic.BaseModel
Установка
pip install temporal-redis
Быстрый старт
from temporal_redis import configure, store_result, get_result
# Настройка (опционально)
configure(
redis_url="redis://localhost:6379",
prefix="myapp:result:",
default_ttl=3600, # 1 час
)
# Сохранение результата
await store_result("workflow-123", {"value": 42})
# Получение результата
result = await get_result("workflow-123")
print(result) # {'value': 42}
API
| Функция | Описание |
|---|---|
configure(...) |
Настроить redis_url, prefix и TTL |
store_result(id, data) |
Сохранить результат по ID |
get_result(id) |
Получить результат (или ошибка ResultNotFoundError) |
store_results(dict) |
Пакетное сохранение (workflow_id → data) |
get_results(list) |
Пакетное получение |
exists_result(id) |
Проверка наличия результата |
exists_results(list) |
Пакетная проверка |
delete_result(id) |
Удалить один результат |
delete_results(list) |
Пакетное удаление |
Исключения
ResultNotFoundError— если результата нет в Redis.
Зависимости
redisorjsonpydantictenacity
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
temporal_redis-0.4.tar.gz
(4.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file temporal_redis-0.4.tar.gz.
File metadata
- Download URL: temporal_redis-0.4.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
544a21b65e1f4e79d797a469a816d595bf4334c7d231a59a9a17f0ffdb2b0556
|
|
| MD5 |
8e50b47159d25f049b71d9b14b40e150
|
|
| BLAKE2b-256 |
0a46fc840035eb06da5c70828f03a23660e0e59439640454acc868d11653c835
|
File details
Details for the file temporal_redis-0.4-py3-none-any.whl.
File metadata
- Download URL: temporal_redis-0.4-py3-none-any.whl
- Upload date:
- Size: 4.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
707827fea250a6cf19e6b655b855e8265add89506eb22a2ae3bbbd910e9b04c4
|
|
| MD5 |
35ce4c98b4cb19991903f0431d0d57d3
|
|
| BLAKE2b-256 |
fe393f2a7f7f22bc1e4f7f0ae767bb80665b3ea0a15c2dbdf0784cc1ca332687
|