Obsługa sprawdzarek

Z Pomoc Netis

Informacje ogólne daemona sprawdzarek

Sprawdzarkami w systemie HiperMarket zarządza daemon o nazwie priced, działa on w tle i jest uruchamiany automatycznie wraz ze startem systemu operacyjnego.


Zarządzenie daemonem sprawdzarek

Nowe systemy (Ubuntu 16.04 w górę)

W nowych systemach operacyjnych gdzie zarządcą jest systemd zarządzamy daemonem w następujący sposób:

  • start
systemctl start priced.service
  • stop
systemctl stop priced.service
  • restart
systemctl restart priced.service
  • sprawdzenie statusu
systemctl status priced.service


  • Przykład poprawnie działającego daemona:
systemctl status priced.service
● priced.service - Priced daemon sprawdzarek
   Loaded: loaded (/lib/systemd/system/priced.service; enabled; vendor preset: enabled)
   Active: active (running) since pią 2019-08-16 10:14:20 CEST; 3h 8min ago
 Main PID: 1656 (priced)
   CGroup: /system.slice/priced.service
           ├─1656 /usr/local/sklep/bin/priced -tELZAB
           └─1850 /usr/local/sklep/bin/priced -odpalony -tELZAB

sie 16 10:14:20 sklep01 systemd[1]: Started Priced daemon sprawdzarek.


  • Przykład gdzie daemon nie działa, proces został zabity:
systemctl status priced.service
● priced.service - Priced daemon sprawdzarek
   Loaded: loaded (/lib/systemd/system/priced.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since pią 2019-08-16 13:31:29 CEST; 26s ago
  Process: 25353 ExecStop=/usr/bin/killall -9 priced (code=exited, status=1/FAILURE)
 Main PID: 1656 (code=killed, signal=KILL)

sie 16 10:14:20 sklep01 systemd[1]: Started Priced daemon sprawdzarek.
sie 16 13:31:29 sklep01 systemd[1]: priced.service: Main process exited, code=killed, status=9/KILL
sie 16 13:31:29 sklep01 killall[25353]: priced: nie znaleziono żadnego procesu
sie 16 13:31:29 sklep01 systemd[1]: priced.service: Control process exited, code=exited status=1
sie 16 13:31:29 sklep01 systemd[1]: priced.service: Unit entered failed state.
sie 16 13:31:29 sklep01 systemd[1]: priced.service: Failed with result 'exit-code'.


Stare systemy (Ubuntu 14.04 w dół, Debian, Slackware)

W starszych systemach daemon sprawdzarek jest odpalany przez skrypt startowy /etc/rc.local

#sprawdzarka cen Elzab
./bin/odpalaj './bin/priced -tELZAB' 1>/dev/null 2>/dev/null &


  • sprawdzenie czy proces działa
ps -ef | grep priced
root      3414     1  0 Jul26 ?        00:00:00 ./bin/odpalaj ./bin/priced -tELZAB
root      3426  3414  0 Jul26 ?        00:00:00 ./bin/priced -tELZAB
root      3557  3426  0 Jul26 ?        00:00:01 ./bin/priced -odpalony -tELZAB


  • zabicie daemona jeżeli nie odpowiada na restarty
killall -9 priced


Następnie sprawdzamy czy proces wystartował automatycznie, jeżeli nie to startujemy daemona poprzez systemctl lub ręcznie uruchamiając polecenie z pliku rc.local (tylko starsze systemy).

Konfiguracja

Konfiguracja sprawdzarki odbywa się z poziomu panelu webowego sprawdzarki lub skanując kody sterujące. Aby sprawdzarka poprawnie odczytywała towary z HiperMarketu, konieczne jest skonfigurowanie sprawdzarki, aby działała w tej samej sieci LAN co serwer. W tym celu logujemy się do panelu webowego sprawdzarki i przechodzimy do sekcji konfiguracji sieci na sprawdzarce.

  • wyłączamy DHCP
  • ustawiamy adres IP sprawdzarki
  • maskę
  • bramę
  • adres IP serwera sprawdzarek (adres ten ustawiamy taki sam jak adres serwera sklepowego)
  • Konfiguracja podsieci w pliku konfiguracji systemu HiperMarket.

Przechodzimy do katalogu głównego sklepu na serwerze i otwieramy plik pricechecker.dat, który znajduje się w folderze konfiguracja. Odszukujemy poniższy wpis i poprawiamy go na adres podsieci, w której sprawdzarka została skonfigurowana.

adres_podsieci=192.168.1.0


Po zmodyfikowaniu pliku wymagany jest restart sprawdzarki!

Logi

Logi znajdują się w głównym katalogu sklepu na serwerze w folderze logi:

tail -f logi/price.log2019_08 
Thu Aug 29 13:21:09 2019 PCSH_Elzab, "Szukam kodu 6950513260139, ip 192.168.1.111"
Thu Aug 29 13:21:09 2019 PCSH_Elzab, "Towar 'NOTES SAMOPRZYLEPNY NO-0139', cena=4.99"
Thu Aug 29 13:21:14 2019 PCSH_Elzab, "Szukam kodu 6924561103021, ip 192.168.1.111"
Thu Aug 29 13:21:14 2019 PCSH_Elzab, "Towar 'NOTES SAMOPRZYLEPNY FLUO NO-3021', cena=4.99"
Thu Aug 29 13:26:16 2019 PCSH_Elzab, "Szukam kodu 5900877000248, ip 192.168.1.111"
Thu Aug 29 13:26:16 2019 PCSH_Elzab, "Towar 'PIWO �UBR 0,5L BUT', cena=1.88"
Thu Aug 29 13:37:36 2019 PCSH_Elzab, "Szukam kodu 5900834000052, ip 192.168.1.111"
Thu Aug 29 13:37:36 2019 PCSH_Elzab, "Towar 'LODY GULLIVER CLASSIC 120 ML', cena=3.99"
Thu Aug 29 13:38:12 2019 PCSH_Elzab, "Szukam kodu 5907377110736, ip 192.168.1.111"
Thu Aug 29 13:38:12 2019 PCSH_Elzab, "Towar 'LODY GULLIVER MINT 120ML', cena=3.99"


Jak widzimy wyżej sprawdzarka o adresie 192.168.1.111 działa oraz czyta towary.