Koja pozadinska automatizacija radi sama bez mojeg rada?
WebShopHR ne traži vanjske cron skripte, systemd timere niti curl pozive koji bi povezivali rutine. Cijela pozadinska automatizacija ide kroz ugrađeni red poslova. Taj red pokreće planirane zadatke, šalje obavijesti, fiskalizira račune i briše zastarjele podatke, sve bez da trgovac išta pali ili planira. Iznimka je sinkronizacija kataloga s Arges ERP-om: nju trgovac sam pokreće klikom, a red poslova onda preuzima izvršavanje i ponavljanje pokušaja.
Periodički poslovi bez vanjskog crona
Svi poslovi pokreću se kroz nativni scheduler ugrađen u red poslova. Periodički zadaci uključuju dnevno čišćenje razgovora iz chatbota i audit loga po GDPR rokovima, dnevno čišćenje zastarjelih napuštenih košarica, dnevne pokušaje naplate pretplate i obračuna provizije, dnevne pokušaje slanja tjednih i mjesečnih izvještaja, te satnu provjeru isteklih neplaćenih kartičnih narudžbi.
Pored toga, sustav otprilike svakih petnaest minuta pregledava napuštene košarice, a svakih deset minuta provjerava jesu li se DNS zapisi custom domene i mail domena proširili. Ako kupac ne plati kartičnu narudžbu unutar roka, sustav je automatski stornira i vraća zalihu u sljedećem ciklusu.
Otporno na restart i pad servera
Nakon restarta ili deploya većina periodičkih poslova odmah radi jedan prolaz, a atomski mehanizmi sprječavaju dupla slanja ili dupla obračuna. To znači da privremeni prekid servera ne dovodi do preskočenog obračuna niti do duplog tjednog izvještaja. Sljedeći pokretani period samo provjeri je li već obrađen.
Ako redak koji posao treba obraditi više ne postoji, npr. narudžba ili tenant su obrisani, posao se otkazuje umjesto da beskonačno troši resurse. Poslovi koji prolaze kroz sve dućane odjednom, poput dnevne retencije ili obračuna, otporni su na grešku po tenantu: kad jedan dućan zapne, taj se prolaz bilježi kao neuspio i sustav nastavlja na sljedećem, dok ostatak posla ide dalje normalno. Poslovi vezani uz jedan dućan, poput Arges sinkronizacije koju trgovac pokrene klikom, rade potpuno neovisno jedan o drugom: ako je Arges privremeno nedostupan za jednog trgovca, taj pokušaj se ponavlja prema svojoj ljestvici, a sinkronizacija ostalih dućana time nije dotaknuta.
Retencija podataka, primjerice, iterira kroz sve dućane i briše zapise po zadanom roku, bez obzira na to je li dućan aktivan, suspendiran ili se briše. To osigurava da GDPR rokovi teku normalno za svakog kupca.
Dva reda i redoslijed po važnosti
Poslovi su razdvojeni u dva reda. U glavni red idu oni koje kupac ili zakon ne mogu čekati: mail, fiskalizacija, webhooks, pozivnice osoblja i magic linkovi. U zasebni pozadinski red idu teški poslovi poput reindeksa tražilice, Arges sinkronizacije koju trgovac pokreće klikom, embeddinga, retencije podataka, izvještaja, obračuna i provjera domena.
Zasebni red znači da jedan spor pozadinski posao ne može zauzeti radnike glavnog reda i tako usporiti potvrdne mailove ili fiskalizaciju. Testovi potvrđuju da svaka vrsta posla završava na ispravnom redu i da se prioritet po paketu primjenjuje unutar njega.
Prioritetom se brine da važniji poslovi ne čekaju u istom repu kao manje hitni. Unutar reda, Enterprise paket dobiva najveći prioritet, zatim Pro, pa Free.
To znači da su hitne obavijesti, fiskalizacija i integracije kod većih paketa prvi na redu, bez obzira na to koliko je pozadinskog posla uletjelo u sustav. Prioritete su pokrili unit testovi, pa se ne oslanja na postavku nego na stvarno ponašanje reda.
Ponavljanje pokušaja i transakcijska sigurnost
Svaki posao ima vlastitu mjeru ponavljanja. Mailovi koji nose vremenski osjetljivu tvrdnju (npr. „poslano") ne pokušavaju se vječno. Nakon nekoliko sati odustaju, jer bi kasna obavijest govorila neistinu. S druge strane, fiskalizacija zadržava dužu ljestvicu, jer je zakonska obveza i JIR/ZKI se mogu predati i naknadno.
Dnevni čistači starih podataka imaju samo jedan pokušaj, jer će se sljedeći period ionako pokrenuti i dovršiti posao. Svaki neuspjeli pokušaj čeka sve dulje do sljedećeg pokušaja (eksponencijalni backoff), a posao se nakon iscrpljenih pokušaja otkazuje.
Većina poslova rješava se transakcijski. Kad se narudžba spremi, istom transakcijom u red poslova ulaze i pripadajući mailovi, webhooks ili fiskalizacija. Ako transakcija padne, ni narudžba ni obavijest ne ostaju zabilježeni. Ne može se dogoditi da kupac dobije potvrdni mail bez narudžbe niti da narudžba nastane bez najave trgovcu. Taj obrazac (poznat kao outbox: poruka se zapiše u istoj transakciji kao i sam događaj, pa se šalje tek kad je događaj sigurno spremljen) vrijedi za potvrde, statusne obavijesti, povrate, digitalnu isporuku i poklon bonove.
Bez vanjskih alata za zakazivanje
Red poslova se konfigurira unutar aplikacije, bez vanjskih alata za zakazivanje. To smanjuje točke kvara i olakšava praćenje. Svi pokrenuti, završeni i otkazani poslovi vidljivi su u bazi, a greške se logiraju na jednom mjestu. Trgovac ne treba znati ništa o scheduleru. Dovoljno je da uključi željene opcije u postavkama, a sustav održava ostalo.
Česta pitanja.
Trebam li vanjski cron ili n8n da automatiziram narudžbe i mailove?
Ne, cijela pozadinska automatizacija (mailovi, fiskalizacija, čišćenje starih podataka) ide kroz ugrađeni red poslova unutar same aplikacije. Iznimka je Arges sinkronizacija: nju trgovac pokreće klikom, a red poslova preuzima izvršavanje.
Što ako se poslužitelj restarta usred zakazanog posla?
Nakon restarta ili deploya većina periodičkih poslova odmah radi jedan prolaz, a atomski mehanizmi sprječavaju dupla slanja ili dupla obračuna.
Hoće li spor pozadinski posao, npr. Arges sinkronizacija, usporiti slanje mailova kupcima?
Ne, poslovi su razdvojeni u dva reda. Teški pozadinski poslovi, uključujući Arges sinkronizaciju koju trgovac pokrene klikom, imaju vlastite radnike, odvojene od glavnog reda za mail i fiskalizaciju.
Što se dogodi ako Arges privremeno nije dostupan za jednog trgovca?
Taj tenant dobiva grešku i pokušaj se ponavlja prema svojoj ljestvici pokušaja. Ostali dućani rade potpuno neovisno, jer svaki ima vlastiti, zaseban posao sinkronizacije.
Mogu li mailovi kasniti danima ako pozadinski posao stalno ne uspijeva?
Ne, mailovi s vremenski osjetljivom tvrdnjom poput „poslano" odustaju nakon nekoliko sati eksponencijalnog backoffa umjesto da stignu kupcu s danima zakašnjenja.