El uso de R en la tarea de actualizar el software de la caja registradora

A primera vista, estos son dos mundos disjuntos. Pero en la práctica, esto no es así.


El siguiente es un breve comentario local sobre el buen “¡No duermas! Cómo aprendimos a replicar lanzamientos en 12,000 taquillas por noche ” en términos del sistema para monitorear la calidad de las actualizaciones de software y el uso de R en esta tarea.


Es una continuación de publicaciones anteriores .


Una vez más, un poco sobre los detalles de la tarea.


  1. La actualización del software se realiza en una selección aleatoria de cajas registradoras. Solo hay una lista de actualizaciones.
  2. La ventana para actualizar es pequeña. El proceso de actualización comienza por la noche y entre las 6 y las 7 a.m., hora local, todos los mostradores de efectivo ya deberían estar operativos.
  3. La metodología de monitoreo es más similar a la tecnología de Netflix en términos de máquinas virtuales en la granja. Debe asegurarse rápidamente de que el cajero después de la actualización esté listo para las ventas. Si algo salió mal, no hay tiempo para resolverlo. Es necesario volver rápidamente a la versión de trabajo anterior en esta taquilla, y los desarrolladores que ya están fuera de línea pueden preparar el código.
  4. La conclusión sobre la calidad de la actualización se realiza de acuerdo con los registros de la caja registradora. La conclusión no se basa en una métrica separada, sino en un conjunto de estados de una máquina de estados finitos implementada por software de taquilla. El lanzamiento de la caja de efectivo es un proceso que se extiende en el tiempo, pasando por una masa de varios estados y condiciones.
  5. Es necesario, en un modo cercano al real, actualizar los estados de las cajas registradoras y priorizar los problemas no solo desde el punto de vista de una caja separada, sino también desde el punto de vista de toda la tienda. Una caja registradora problemática en un hipermercado es menos problemática que un cajero en una tienda "cerca de la casa".

Ningún monitoreo clásico de zabbix es adecuado para tales propósitos. Por lo tanto, la solución se creó sobre la base del Sistema de Monitoreo de Negocios (BMS) mencionado en el artículo. El Sistema se puede encontrar con más detalle en los materiales de "# 5 Moscow R Meetup" . Allí en los comentarios hay enlaces a presentaciones y videos.


Toda la parte analítica, así como la estación de trabajo, se ensambló sobre la base de R + Shiny, que se incluyen en el bloque "conteo" de BMS. Como resultado, la persona responsable de la actualización recibe en una pantalla un resumen completo de los estados, "abrir paréntesis" a pedido y consejos para priorizar acciones.


No se trata del "revolucionismo" y la "singularidad", sino del hecho de que una tarea así es cerrada elegante y simplemente por R.


Ejemplos de capturas de pantalla:


Vista de la tienda


Vista terminal


Publicación anterior: "Computación reproducible en R. ¿Cómo separar el código y los datos?" .


All Articles