Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
maxLevel5

Opis

Delovanje panstore sinhronizatorja v spletni trgovini

Na strani spletne trgovine mora biti zagnana datoteka panstore_daemon.php, ki poskrbi da se izvajajo spremembe v trgovini. To naredimo tako da jo dodamo Hiter opis namestitve in načina delovanja sinhronizacije v spletni trgovni.

Namestitev

  • V root mapi spletne trgovine kreirajte novo mapo panstore. Npr. če je root /var/www/public_html potem kreirajte mapo /var/www/public_html/panstore. V to mapo prenesete vse datoteke, ki se nahajajo v datoteki WebStore.zip
  • V datoteki settings.php se nahajajo osnovne nastavitve trgovine, kot je tip trgovine in prijavni podatki na bazo podatkov (v primeru Magenta prijavnih podatkov ni potrebno vpisati)

Zagon

Za pričetek sinhronizacije je dovolj zagon datoteke panstore_daemon.php, npr:

Code Block
languagebash
php panstore_daemon.php

Da zagotovimo kontinuirano izvajanje je potrebno izvajanje datoteke dodati v cron opravilo, ki se izvaja npr. 1x/uro5min. Ko se panstore_daemon.php zažene se izvaja kontinuirano neodvisno od cron opravila. Cron opravilo samo preveri periodično preverja ali je sinhronizacija aktivna in se jo ponovno zažene če ni (npr. pri ponovnem zagonu računalnika, če se ustavi mysql baza podatkov, če zapade v timeout, če se izvajanje sinhronizacije ustavi zaradi kakršnegakoli drugega razloga). Tudi če panstore_daemon.php v trgovini v času spremembe v poslovno informacijskem sistemu ni zagnan, se bodo vse spremembe izvedle v trenutku ko ga boste zagnali.

Zagon izvedemo preprosto preko ukazaIzvajanje skripte lahko zaradi časovne omejitve (timeout) prepreči tudi spletni strežnik, zato preverite kakšne so nastavitve. Privzeto v CLI načinu (cron) ni omejitev.

 

Info
iconfalse
titlemax-execution-time

This sets the maximum time in seconds a script is allowed to run before it is terminated by the parser. This helps prevent poorly written scripts from tying up the server. The default setting is 30. When running PHP from the command line the default setting is 0.

http://php.net/manual/en/info.configuration.php#ini.max-execution-time

Expand
titlecron job...
Localtabgroup
Localtab
activetrue
titlecPanel

 

Image Added

Image Added

Code Block
languagebash
/usr/local/bin/php /home/naracami/public_html/NOVO/panstore/panstore_daemon.php >/dev/null 2>&1

 

 

Localtab
titlecrontab
Code Block
languagebash
*/5 * * * *   root    cd / && run-parts --report /var/www/public_html/panstore/panlab_daemon.php >/dev/null 2>&1

Večkratni simultani zagon iste datoteke ni mogoč, v tem primeru se javi napaka in izvajanje se prekine.

Prekinitev/Ustavitev

Če želite sinhronizacijo ustaviti to lahko naredite tako da v direktoriju kreirate datoteko exit.txt ali stop.txt. Stop.txt prepreči tudi zagon sinhronizatorja medtem ko exit.txt omogoča enkratno izvajanje sinhronizacije (ena iteracija), kar je koristno predvsem za testiranje.

 

namene testiranja. Ko se panstore_daemon.php ustavi kreira datoteko ok.txt, ko se zažene se ta datoteka izbriše. Tak način je uporaben predvsem ko nimamo neposrednega SSH dostopa in je potrebno sinhronizacijo uravnavati na nivoju FTP strežnika.

Code Block
languagebash
user@host:/var/www/public_html/panstore# > stop.txt
oz. 
user@host:/var/www/public_html/panstore# > exit.txt

V primeru dostopa do SSH terminala, lahko panstore ustavimo tudi preko ukaza, vendar priporočamo ustavljanje na zgornji način.

Code Block
languagebash
user@host:/var/www/public_html/panstore# killall panstore_daemon.php
Note
titleSprememba PanStore datotek

Ker je panstore_daemon.php zagnan kot service (teče kontinuirano), ga je potrebno v primeru spremembe panstore datotek (datoteke, ki se nahajajo v direktoriju panstore) ponovno zagnati. Postopek ponovnega zagona je opisan zgoraj.

Opis datotek

  • panstore_daemon.php
    "Osnovna" datoteka, ki povezuje vse ostale in izvaja neskončen loop iteracije.
  • settings.php
    Nastavitve vezane na sinhronizacijo (v prihodnosti se bodo nastavitve prestavile na nivo SQL baze podatkov)
  • global_sql.php
    Celotna logika SQL stavkov se nahaja v tej datoteki in sicer v obliki funkcij. Za izvedbo kakršnegakoli SQL ukaza se pokliče funkcijo definirano tukaj, katera vrne dejanski SQL ukaz, tudi glede na vhodne parametre funkcije.
    • global_sql_user.php
      Uporabniške funkcije, ki prepisujejo funkcije v global_sql.php. V primeru nadgradnje se datoteka global_sql.php prepiše, medtem ko se te datoteke ne prepisuje
  • load_header.php
    Poskrbi za inicializacijo povezave, kreiranje osnovnih SQL tabel in nalaganje podpornih funkcij za modul
  • product_class_xxx.php
    Vsebuje celotno logiko posodabljanja artiklov v spletni trgovini (kakšen SQL stavek se izvede da se izvede določena posodobitev v trgovini)
  • sync_price.php, sync_stock.php, sync_item.php
    Osnovna logika posodabljanja cen/zaloge/artiklov na nivoju predprocesiranja podatkov v PanStore tabelah (označevanej neobstoječih artiklov, brisanje duplikatov, ...). Znotraj teh datotek se kreira instanca produkta in preko funkcij posodablja posamezne podatke spletnega artikla (class in funkcije so definirane v product_class_xxx.php)

 

 

Info
titleOcena besedila

Vprašanja in komentarje lahko vpišete spodaj
Localtabgroup
Localtab
noprint
activetrue
titleOsnovno
Panel
borderColorsilver
borderWidth1
titlePovezave

Povezave do sorodnih člankov (Insert->Link oz. CTRL+K)

silver1Iskalne besede

Povezave do sorodnih člankov (Insert->Link oz. CTRL+K)

falseDatotekefalse

Panel
borderColorsilver
borderWidth1
titleIskalne besede

Info
iconfalse
titleDatoteke

Attachments
oldfalse
patterns*.exe,*.dpa,*.pdf

Localtab
titleZgodovina sprememb

Change History