Cómo reintentar un job fallido
Recupera un trabajo de impresión o KDS fallido desde el TPV: abre la cola, localiza la fila con error y pulsa Reintentar para devolver el mismo tpv_output_job a pending y limpiar el mensaje visible.
En este artículo
El reintento sirve para recuperar una salida que no pudo completarse sin volver a crear el ticket, la factura o el pedido KDS. La acción trabaja sobre el mismo tpv_output_job y lo deja de nuevo preparado para procesamiento.
Este flujo está pensado para responsables de sala y soporte operativo que revisan la Cola de impresión y KDS durante el servicio y necesitan resolver un fallo visible desde el propio TPV.
Antes de empezar
- Sesión iniciada en Grupo Marea Demo con el local Marea Gran Via seleccionado.
- El TPV del local debe tener una service_session activa; la cola se carga con service_session_id.
- El usuario debe poder abrir Cola de impresión y KDS desde el TPV.
- Debe existir un tpv_output_job visible para el terminal actual con status failed; solo esas filas muestran Reintentar.
- Si el TPV exige selección de empleado, selecciona Marta Ruiz antes de abrir la cola.
- Para reprocesamiento automático, el dispositivo de salida asociado debe estar activo y debe existir un adapter local compatible.
Instrucciones
- 1.
Entrar al TPV
Abre el TPV de Marea Gran Via en la pestaña de sala. Si aparece el selector de empleado, elige Marta Ruiz antes de continuar.
- 2.
Abrir la cola
Desde Más acciones del TPV, entra en Cola de impresión y KDS. El panel muestra los trabajos de salida del servicio activo dentro del alcance del terminal actual.
- 3.
Identificar el fallo
Busca una fila marcada como failed. Si el trabajo tiene error_message, el panel muestra ese mensaje y habilita el botón Reintentar en la misma fila.
- 4.
Pulsar Reintentar
Pulsa Reintentar. La app actualiza el mismo job con status pending, conserva o asigna el terminal correspondiente y envía error_message vacío para limpiar el error anterior.
- 5.
Comprobar el resultado
Tras la respuesta correcta, la cola se invalida y se refresca. El trabajo deja de estar fallido; si el runtime encuentra dispositivo y adapter compatibles, puede reclamarlo y procesarlo otra vez.
Validaciones y límites
- Reintentar solo aparece en filas con status failed; los trabajos no completados muestran Marcar impreso y los completados no muestran acción de fila.
- Si la cola está cargando, falla o no contiene trabajos visibles, no hay nada que reintentar hasta recuperar la lista.
- El panel filtra por alcance de terminal: un job reclamado solo aparece para el terminal que lo reclamó; sin reclamación, aparece si no tiene terminal asignado o si coincide con el terminal actual.
- La operación usa PUT /api/app/{orgId}/{locationId}/tpv-output-jobs/{jobId} con JSON válido.
- El payload de retry deja status en pending y manda error_message como cadena vacía; terminal_id se valida contra el local.
- El reintento reutiliza el mismo tpv_output_job: no crea un trabajo nuevo ni reencola desde ticket, factura o KDS.
- El error visible se limpia, pero failed_at y attempts pueden seguir reflejando fallos anteriores.
- Los permisos KDS operativos solo permiten operar jobs de tipo kds; otros trabajos de salida necesitan acceso TPV.
- Si no hay dispositivo activo o adapter compatible, el job puede quedarse en pending. Si el procesamiento local falla otra vez, volverá a failed con un nuevo mensaje.
Resultado esperado
El trabajo de salida sale del estado failed, queda listo como pending y desaparece el error visible anterior. A partir de ahí el runtime del terminal puede procesarlo de nuevo si el hardware y el adapter encajan.