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.2.2.tar.gz
(4.6 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.2.2.tar.gz.
File metadata
- Download URL: temporal_redis-0.2.2.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60a6bccdafaa41f190df02ebc8b98140d2990f1e679a7a6f0fccbeab0a3dabeb
|
|
| MD5 |
8bfa3904e66f2e8507da90b3879dec91
|
|
| BLAKE2b-256 |
d1bd843650aeb4e327ba696d11b16f328427f32999b5ca65f4211e8de085875b
|
File details
Details for the file temporal_redis-0.2.2-py3-none-any.whl.
File metadata
- Download URL: temporal_redis-0.2.2-py3-none-any.whl
- Upload date:
- Size: 5.1 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 |
da1f3b9f7929c4c4ca2c0baa1bb19ca3adaa69137129c530e3c1c428788c16da
|
|
| MD5 |
407f1608d929d34c6bf52fee8cdabd93
|
|
| BLAKE2b-256 |
21ecf013896527e7f92284ec243288576b8fa35a0dee05ad6717aa670aca5535
|