keyspace_notifications
SKILL.md
keyspace_notifications
Keyspace notifications de Redis permiten suscribirse a eventos como expiración de claves, SET, DEL, etc. Útil para ejecutar acciones de limpieza automática cuando los datos de sesión expiran.
When to use
Usar en el cache_agent para recibir notificaciones cuando las sesiones expiran y trigger la limpieza de datos biométricos asociados en MinIO y PostgreSQL.
Instructions
- Habilitar en Redis config:
notify-keyspace-events Ex(expiración de keys). - Suscribirse al canal de expiración:
pubsub = redis.pubsub() await pubsub.psubscribe('__keyevent@0__:expired') async for message in pubsub.listen(): expired_key = message['data'] if expired_key.startswith('session:'): await cleanup_session(expired_key) - En
cleanup_session: eliminar imágenes de MinIO y marcar sesión como expirada en PostgreSQL. - Ejecutar el listener como worker dedicado (no en el handler de peticiones).
- Implementar retry si la limpieza falla.
- Registrar cada limpieza en auditoría con timestamp.
Notes
- Redis no garantiza entrega de notificaciones si el subscriber no está conectado; usar como complemento, no como único mecanismo de limpieza.
- Implementar también un Celery Beat job que limpia sesiones huérfanas cada 30 minutos como safety net.
- Las notificaciones tienen overhead; habilitar solo los eventos necesarios.
Weekly Installs
8
Repository
davidcastagnetoa/skillsFirst Seen
13 days ago
Installed on
trae8
antigravity8
claude-code8
github-copilot8
codex8
kimi-cli8