Ir al contenido

Set Transaction Status

Tipo: queue-set-transaction-status  ·  Paquete: Queue Activities v1.0.0  ·  Salida:

Cierra la transacción de un item: lo marca como successful (procesado bien) o failed (procesado con error). Es lo que hace el performer al terminar con cada item. El item debe estar in_progress y haber sido tomado por esta ejecución con Get Queue Item.

ParámetroEditorDescripción
itemexpresiónEl ZoanQueueItem devuelto por Get Queue Item (ej. = item).
statusenumsuccessful (éxito) o failed (error).
ParámetroEditorDescripción
outputJSONObjeto con el resultado del procesamiento. Solo para status = successful. Queda guardado en item.Output.
exceptionJSONObjeto con el detalle del error (ej. { "type": "...", "message": "..." }). Solo para status = failed.
retryablebooleanoSolo para failed. true (por defecto) = respeta el auto-retry de la cola. false = marca fallo inmediato sin reintento.

Por defecto, un item failed se reintenta si la cola tiene auto-retry y quedan reintentos. Eso es lo correcto para errores del sistema (la web se cayó, un timeout). Pero para errores de negocio —un dato inválido, un campo faltante— reintentar daría exactamente el mismo error: ahí usa retryable = false para fallar de una vez. Ver reintentos.

Procesar el item dentro de un Try / Catch y reportar según el resultado:

Try
└─ body:
(… procesar la factura …)
Set Transaction Status
item = = item status = successful
output = { "validada": true, "revisadaPor": "bot" }
└─ catch (err):
Set Transaction Status
item = = item status = failed
exception = { "message": = err.Message }
retryable = true