Runbook · alarma ApiGuias-<entorno>-documento-ausente (P-07)¶
Qué significa¶
El worker intentó actualizar un documento de CargaPedido o PedidosInter que él mismo había insertado y ya no existe (borrado a mano, o una carrera con otro proceso). El worker no reintenta a ciegas: el documento no va a aparecer solo y la guía ya pudo crearse en la transportadora. Hizo cuatro cosas:
- Publicó la métrica
DocumentoAusente(dimensionesColeccionyTransportadora). - Marcó la solicitud con
MotivoRevisionManualenApiSolicitudesGuia(dice qué documento y en qué paso). - Conservó la reserva de cupo (la guía puede existir en la transportadora y costarle dinero a la tienda).
- Confirmó el mensaje: no va a la DLQ ni la reencola el reconciliador.
Un solo caso ya importa: hay cupo y, posiblemente, una guía real sin pedido.
Qué hacer¶
- Abrir la solicitud. En
ApiSolicitudesGuia, buscar por elsolicitudIddel registro (MotivoRevisionManualno nulo). MirarEstado,NumeroGuia,PasosCompletados,IdCargaPedido,IdPedidoInteryReserva. - Comprobar si el documento existe con otro
_id. Buscar en la colección que indica el motivo porNumeropreenvio/NumeroPreenvioigual alNumeroGuia(borrado manual y reinserción, o un proceso de depuración). - Si la guía ya existe en la transportadora (
NumeroGuiapresente): no volver a crearla. Reconstruir el documento que falta a partir de la solicitud (los campos salen deDatosyContexto; el formato es el deDocumentosPedido) e insertarlo con el_idguardado en la solicitud. Después limpiarMotivoRevisionManualy ponerConPasosPendientes: truepara que el reconciliador complete los pasos que faltan. - Si no hay guía (
EstadoReservadaoFallidasin número): decidir con Iker entre marcarlaFallida(libera el cupo) o dejarla para reintento. - Reencolar desde la DLQ solo después de arreglar la causa.
- Anotar la causa en la bitácora.
Qué no hacer¶
- No borrar la solicitud: perdería la idempotencia y el rastro del cupo.
- No quitar
MotivoRevisionManualsin haber arreglado el documento: el worker volvería a fallar igual. - No liberar la reserva a mano si la guía existe en la transportadora.
Alarmas parecidas¶
| Alarma | Significa |
|---|---|
ApiGuias-<entorno>-fallida-por-reintentos (P-06) |
Una solicitud agotó sus 5 intentos porque la transportadora no estuvo disponible: quedó Fallida y liberó su cupo. No hay que recuperar nada; avisar al integrador y revisar la transportadora |
ApiGuias-<entorno>-dlq |
Un mensaje agotó sus entregas por otro error |