Skip to content

Commit feebee8

Browse files
authored
feat: manejo de errores en sync de Orden de Compra (#307)
Se implementa manejo de errores en el proceso de sincronización de pagos de órdenes de compra. Ahora, si una orden de compra específica falla durante la sincronización, el proceso continuará con las demás órdenes sin interrumpirse. ## Cambios Realizados - Se agregó un bloque try-catch alrededor de la sincronización individual de cada orden de compra - Se implementó un registro de errores detallado cuando falla la sincronización de una orden - Se asegura la continuidad del proceso incluso cuando una orden específica falla ## Motivación Anteriormente, si una orden de compra fallaba durante la sincronización, todo el proceso se detenía. Este cambio mejora la resiliencia del sistema permitiendo que el proceso continúe con las demás órdenes incluso si una falla. ## Impacto - Mayor robustez en el proceso de sincronización - Mejor visibilidad de errores específicos por orden de compra - Reducción de interrupciones en el proceso de sincronización
1 parent f1922e8 commit feebee8

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

workers/purchase_order_payment_sync_cron/scheduled.tsx

+20-9
Original file line numberDiff line numberDiff line change
@@ -64,16 +64,27 @@ export const scheduled: ExportedHandlerScheduledHandler<ENV> = async (
6464
`Syncing purchase order payment status for ${purchaseOrder.id}`,
6565
);
6666

67-
await syncPurchaseOrderPaymentStatus({
68-
purchaseOrderId: purchaseOrder.id,
69-
DB,
70-
GET_STRIPE_CLIENT,
71-
GET_MERCADOPAGO_CLIENT,
72-
logger,
73-
transactionalEmailService: env.RPC_SERVICE_EMAIL,
74-
});
67+
try {
68+
await syncPurchaseOrderPaymentStatus({
69+
purchaseOrderId: purchaseOrder.id,
70+
DB,
71+
GET_STRIPE_CLIENT,
72+
GET_MERCADOPAGO_CLIENT,
73+
logger,
74+
transactionalEmailService: env.RPC_SERVICE_EMAIL,
75+
});
7576

76-
logger.info(`Synced purchase order payment status for ${purchaseOrder.id}`);
77+
logger.info(
78+
`Synced purchase order payment status for ${purchaseOrder.id}`,
79+
);
80+
} catch (error) {
81+
logger.error(
82+
`Error syncing purchase order payment status for ${purchaseOrder.id}`,
83+
{
84+
error,
85+
},
86+
);
87+
}
7788
}
7889

7990
const clearedOders = await clearExpiredPurchaseOrders({ DB });

0 commit comments

Comments
 (0)