Skip to content

Async context manager para cleanup automático

async with DocumentDb() as db: await db.write("conversations", data)

Conexión cerrada automáticamente, background tasks esperadas

Fire-and-forget con callbacks opcionales

db.save_background( "chat_messages", message_doc, on_success=lambda r: logger.info(f"Saved {r.inserted_id}"), on_error=lambda e: alert_slack(e) )

Inspección de escrituras fallidas

print(f"Fallos pendientes: {db.failed_writes_count}") for failed in db.failed_writes: print(f" - {failed.collection}: {failed.error}")

Retry manual de fallos

result = await db.retry_failed_writes() print(f"Recuperados: {result['successful']}/{result['total']}") ```