Obsługa sprawdzarek
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 sieci, 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.