Antylogic
Probar demoAcceso app

399 guías operativas

Secciones de Docs
DocsDocumentación y ayuda
Dispositivo

Cargar caché de contenido de Docs

Antylogic carga `articles.json` cuando una petición `GET` necesita mostrar el índice o un artículo de Docs. El backend conserva el contenido decodificado en memoria y lo reutiliza hasta que avanza el `mtime` del archivo.

En este artículo

Usa esta guía para entender qué ocurre cuando la ayuda pública o la ayuda interna muestran contenido de documentación. Para el operador, el efecto visible es que el índice y los artículos se sirven desde el bundle vigente de Docs.

No existe botón ni endpoint para forzar la recarga. La siguiente petición `GET` no-asset después de reemplazar el bundle es la que permite al backend comprobar el `mtime` y decidir si debe releer `articles.json`.

Antes de empezar

  • El backend debe tener registradas las rutas de Docs.
  • `DOCS_CONTENT_PATH` debe apuntar a un directorio con `articles.json` o directamente a un archivo `.json`; si no se define, se usa `./docs-content`.
  • `articles.json` debe existir y ser JSON válido para el backend.
  • Para `/api/app/docs` hace falta sesión válida con token Bearer o cookie `access_token`; `/api/public/docs` no requiere sesión.
  • Para capturas en ES, usar la sesión demo `restaurant_full_v1-es` y abrir `antylogic://docs`.

Instrucciones

  1. 1.

    Abrir la ayuda interna

    En la sesión demo de Grupo Marea Demo, abre `antylogic://docs`. La pantalla solicita el índice a `GET /api/app/docs`. Si la caché está vacía o el `mtime` del archivo avanzó, el backend lee `articles.json`, lo decodifica y conserva el contenido en memoria.

  2. 2.

    Abrir un artículo real

    Abre `antylogic://docs/acceso/es-access-users-invite-location`. El detalle usa el mismo servicio que el índice y resuelve el artículo desde el bundle de documentación ya cargado o reutilizado.

  3. 3.

    Entender cuándo se recarga

    Después de reemplazar el bundle, la siguiente petición `GET` no-asset consulta el `mtime`. Sólo se vuelve a leer y decodificar el JSON si esa fecha es posterior a la cargada en memoria.

  4. 4.

    Distinguir la caché interna de la HTTP

    La caché interna conserva el JSON decodificado dentro del proceso backend. `DOCS_CACHE_CONTROL_DEFAULT` controla la cabecera HTTP de índice y detalle, pero no fuerza ni evita la recarga interna de `articles.json`.

Validaciones y límites

  • `GET /api/public/docs` no requiere sesión; `GET /api/app/docs` sí requiere autenticación válida.
  • `HEAD /api/app/docs` y `HEAD /api/public/docs` responden antes de cargar contenido, por lo que no demuestran esta acción.
  • Las rutas `/api/*/docs/assets/...` se atienden antes de leer `articles.json`; no sirven como evidencia de carga de caché.
  • Si `articles.json` no existe, la respuesta esperada es `503 documentacion no configurada`.
  • Si el JSON no se puede leer o decodificar, la respuesta esperada es `500 documentacion no disponible`.
  • Si el artículo no existe, el detalle devuelve `404 articulo no encontrado`; eso no implica fallo de caché si el índice cargó correctamente.
  • La caché es local a cada proceso backend y no se comparte entre instancias.

Resultado esperado

El índice y el detalle de Docs se muestran con el bundle vigente. El backend mantiene el contenido en memoria y lo reutiliza hasta que una petición `GET` detecta un `mtime` más reciente en `articles.json`.

Artículos relacionados