Hace unas semanas conté acá cómo armé, con ayuda de una IA, un sistema para que mi minimarket dejara de recibir pedidos de productos agotados en la app de delivery. En ese momento sonaba "resuelto". La realidad es que fue el comienzo — desde entonces pasaron bastantes cosas que vale la pena compartir, sobre todo porque casi todo lo que aprendí vino de fallas reales en producción, no de la planificación inicial. El primer susto: el sistema empezó a apagar productos que sí tenían stock Con el sistema funcionando, un día empezó a desactivar productos que sí tenían stock disponible. La causa: mi script mandaba una actualización por producto, una por una, y en cada corrida completa eran más de mil llamadas seguidas. La plataforma de delivery las aceptaba, pero las dejaba encoladas sin llegar a aplicarlas realmente — mis actualizaciones "se perdían" en el camino sin ningún error visible en el momento. @Cristian Tala me hizo notar, antes incluso de que soporte técnico me lo confirmara, que agrupar todo en una sola llamada por corrida (en vez de mil llamadas sueltas) reduciría el cuello de botella. Aprendizaje: si algo "se pierde" sin dar ningún error, sospecha de volumen antes que de lógica. Rediseño: avisar solo de lo que cambió, y en un solo envío La solución de fondo fue doble: 1. Guardar el último estado conocido de cada producto, y avisar a la plataforma solo cuando algo realmente cambia (no reenviar los ~1000 productos en cada corrida). 2. Agrupar todos los cambios detectados en un único envío por corrida, en vez de uno por producto. Con eso, una corrida típica pasó de tardar 12-20 minutos a menos de un minuto, y el problema de actualizaciones perdidas desapareció. Un costo que no había considerado: los minutos de cómputo Corriendo cada 5-10 minutos las 24 horas, calculé que podía agotar la cuota gratuita de mi proveedor de automatización (GitHub Actions) en cuestión de días, no de meses. La solución fue simple una vez identificado el problema: hacer que el sistema solo corra durante el horario real de atención del negocio, y con más frecuencia en las horas de mayor demanda (18 a 22 hs) que en el resto del día. Fuera de ese horario, no corre nada. Con esto, y con la optimización de velocidad del punto anterior, el consumo real terminó siendo menos del 10% de la cuota gratuita mensual.