O uso de R na tarefa de atualizar o software da caixa registradora

À primeira vista, esses são dois mundos disjuntos. Mas, na prática, não é assim.


A seguir, um breve comentário local sobre o bom artigo: “Não durma! Como aprendemos a replicar lançamentos em 12.000 bilheterias por noite ” em termos de sistema para monitorar a qualidade das atualizações de software e o uso de R nesta tarefa.


É uma continuação de publicações anteriores .


Mais uma vez, um pouco sobre as especificidades da tarefa.


  1. A atualização do software ocorre em uma seleção aleatória de caixas registradoras. Existe apenas uma lista de atualização.
  2. A janela para atualização é pequena. O processo de atualização começa à noite e por volta das 6h às 7h, horário local, todos os balcões de caixa já devem estar operacionais.
  3. A metodologia de monitoramento é mais semelhante à tecnologia Netflix em termos de máquinas virtuais no farm. Você precisa garantir rapidamente que o caixa após a atualização esteja pronto para vendas. Se algo der errado, não há tempo para descobrir. É necessário reverter rapidamente para a versão de trabalho anterior nesta bilheteria, e os desenvolvedores já offline podem preparar o código.
  4. A conclusão sobre a qualidade da atualização é feita de acordo com os registros da caixa registradora. A conclusão é baseada não em uma métrica separada, mas em um conjunto de estados de uma máquina de estados finitos implementada pelo software de bilheteria. O lançamento da mesa de caixa é um processo que se estende no tempo, passando por uma massa de vários status e condições.
  5. É necessário, em um modo próximo ao real, atualizar os status dos balcões e priorizar os problemas não apenas do ponto de vista de um balcão de caixa separado, mas também do ponto de vista de toda a loja. Um balcão de caixa problemático em um hipermercado é menos problemático do que um caixa de uma loja “perto da casa”.

Nenhum monitoramento clássico do zabbix é adequado para esses fins. Portanto, a solução foi criada com base no Sistema de Monitoramento de Negócios (BMS) referido no artigo. O sistema pode ser encontrado em mais detalhes nos materiais do "# 5 Moscow R Meetup" . Nos comentários há links para apresentações e vídeos.


Toda a parte analítica, bem como a estação de trabalho, foi montada com base no R + Shiny, incluído no bloco “calculadora” do BMS. Como resultado, a pessoa responsável pela atualização recebe em uma tela um resumo completo dos status, “colchetes de abertura” mediante solicitação e dicas para priorizar ações.


Não se trata de "revolucionismo" e "singularidade", mas do fato de que tal tarefa é elegante e simplesmente encerrada por R.


Exemplos de capturas de tela:


Vista da loja


Vista terminal


Post anterior - “Computação reproduzível em R. Como separar código e dados?” .


All Articles