Die Verwendung von R bei der Aktualisierung von Registrierkassensoftware

Auf den ersten Blick sind dies zwei unzusammenhängende Welten. In der Praxis ist dies jedoch nicht der Fall.


Das Folgende ist ein kurzer lokaler Kommentar zu dem guten Artikel „Schlaf nicht! Wie wir gelernt haben, Releases an 12.000 Kinokassen pro Nacht zu replizieren “ in Bezug auf das System zur Überwachung der Qualität von Softwareupdates und der Verwendung von R in dieser Aufgabe.


Es ist eine Fortsetzung früherer Veröffentlichungen .


Noch einmal ein wenig über die Besonderheiten der Aufgabe.


  1. Das Software-Update erfolgt an einer zufälligen Auswahl von Registrierkassen. Es gibt nur eine Update-Liste.
  2. Das Fenster zum Aktualisieren ist klein. Der Aktualisierungsprozess beginnt nachts und um ~ 6-7 Uhr Ortszeit sollten alle Kassen bereits betriebsbereit sein.
  3. Die Überwachungsmethode ähnelt der Netflix-Technologie in Bezug auf virtuelle Maschinen in der Farm. Sie müssen schnell sicherstellen, dass der Kassierer nach dem Upgrade für den Verkauf bereit ist. Wenn etwas schief gelaufen ist, haben Sie keine Zeit, es herauszufinden. An dieser Abendkasse muss schnell auf die vorherige Arbeitsversion zurückgegriffen werden, und bereits Offline-Entwickler können den Code vorbereiten.
  4. Die Schlussfolgerung über die Qualität des Updates wird anhand der Registrierkassenprotokolle gezogen. Die Schlussfolgerung basiert nicht auf einer separaten Metrik, sondern auf einer Reihe von Zuständen einer endlichen Zustandsmaschine, die von der Kassen-Software implementiert wird. Der Start der Kasse ist ein Prozess, der zeitlich verlängert wird und eine Vielzahl verschiedener Status und Bedingungen durchläuft.
  5. In einem Modus, der dem tatsächlichen nahe kommt, ist es erforderlich, den Status von Kassen zu aktualisieren und Probleme nicht nur aus Sicht einer separaten Kasse, sondern auch aus Sicht des gesamten Geschäfts zu priorisieren. Eine problematische Kasse in einem SB-Warenhaus ist weniger problematisch als eine Kassiererin in einem Geschäft in der Nähe des Hauses.

Für solche Zwecke ist keine klassische Zabbix-Überwachung geeignet. Daher wurde die Lösung auf der Grundlage des im Artikel genannten Business Monitoring System (BMS) erstellt. Das System finden Sie detaillierter in den Materialien des "# 5 Moscow R Meetup" . Dort in den Kommentaren finden Sie Links zu Präsentationen und Videos.


Der gesamte analytische Teil sowie die Workstation wurden auf Basis von R + Shiny zusammengebaut, die im BMS-Block „count“ enthalten sind. Infolgedessen erhält die für die Aktualisierung verantwortliche Person auf einem Bildschirm eine vollständige Zusammenfassung des Status, auf Anfrage „Klammern öffnen“ und Tipps zur Priorisierung von Aktionen.


Hier geht es nicht um „Revolutionismus“ und „Einzigartigkeit“, sondern darum, dass eine solche Aufgabe von R. elegant und einfach abgeschlossen wird.


Beispiele für Screenshots:


Shopansicht


Terminalansicht


Vorheriger Beitrag - "Reproduzierbares Rechnen in R. Wie trenne ich Code und Daten?" .


All Articles