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.1.0.tar.gz
(4.5 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.1.0.tar.gz.
File metadata
- Download URL: temporal_redis-0.1.0.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e945b244826cef486c56a6f63c00785d0817ab72e30c412cb8ba71d64c415ea
|
|
| MD5 |
561f9adc318a4870eac3c241bb019696
|
|
| BLAKE2b-256 |
e9448ac2e6141f5a96157cf0ea0ae9fabe4d1cad9949ef7466627401b1574019
|
File details
Details for the file temporal_redis-0.1.0-py3-none-any.whl.
File metadata
- Download URL: temporal_redis-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.8 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 |
30c2901070b08ec2a07f4f2d47e3bb5679749d51cb370cc6566c4f1d8a969757
|
|
| MD5 |
e671f52604e76491abc3ab55a53bb691
|
|
| BLAKE2b-256 |
0745b7e2a59ca6645d9a4fc828269caf19123382c01f9afb203c20db440dee7d
|