La mejor práctica para liberar inventario en una base de datos
Estoy creando una aplicación de venta de boletos que rastrea un inventario de boletos y los desactiva cuando se agota un boleto en particular.
Me pregunto cuál es la mejor práctica para devolver el inventario a la tienda cuando un pedido se abandona a mitad de camino.
El flujo actual:
os usuarios agreganitems
a unaorder
comoline_items
y elorder
está marcado como completado en el pago exitosoitems
tiene unquantity_available
que se actualiza en función de suline_items
Barro periódicamente pororders
sin acción en> 20 minutos, elimine esas órdenes 'line_item
s y actualice laquantity_available
Parece que me falta algo con esto. Por un lado, pierdo la capacidad de revisar los pedidos abandonados en detalle (todavía tengo pagos / rechazos, etc. pero no líneas de pedido). Y si un usuario intenta reanudar un pedido anterior después de 21 minutos, tendrá que comenzar de nuevo.
or el contrario, inmoviliza el inventario durante 20 minutos, lo que podría perder las ventas cuando un espectáculo está casi agotado.
Cualquier idea sería muy apreciada. Gracias