====== WebCron alrendszer kezelése ====== * A WebCron beállításokat az [[https://e-tiger.net|adminisztrációs rendszerben]] a CRON menüpont alatt találod meg. Minden CRON feladatot célszerű a saját domainje alatt beállítani, így átláthatóbb milyen beállítások tartoznak egy domainhez. * Az "Új" gombbal adhatunk hozzá új időzítést: {{ :tarhely:cron:webcron:cron_add.png?nolink& |}} * Az értékek tartományai a következőek: * **Perc: ** 0 és 59 között * **Óra: ** 0 és 23 között * **Nap: ** 1 és 31 között * **A hét napja (DOW): ** 1 és 7 között (1: hétfő, 2: kedd, ... 7: vasárnap) * **Url: ** a meghívandó script címe és kapcsolói Pl.: http://viacomkft.hu/test.php?do=cron&pass=secret * **E-mail küldés ha: ** * "**Ha a folytatólagos hibák száma egyenlő a limittel**" - Pl.: a limitet beállítod mondjuk 3-ra. Csak akkor fogsz emailt kapni ha az egymás utáni hibák száma pontosan 3. Nem kapsz levelet 6, 9, 12 stb. esetén. Ahhoz hogy újra értesítsen a hibáról a rendszer kell egy sikeres hívás majd újra 3 hibás. * "**Ha a folytatólagos hibák száma többszöröse a limitnek**" - Pl.: a limitet beállítod mondjuk 3-ra. Emailt fogsz kapni minden alkalommal, amikor az egymás utáni hibák száma maradék nélkül osztható 3 mal: 3,6,9,12,15 stb. * "**Soha**" - az email küldés funkció kikapcsolva. * **Limit: ** //Lásd feljebb// * **Helyreállás e-mail: ** Ha a hibáról már kaptál értesítést (hibák száma >= limit) akkor a hiba megoldódásáról (a hiba számláló nullázásáról) is fogsz kapni jelentést. * **E-mail cím: ** Ide megy majd a hibajelentés * **Megjegyzés: ** Ha több cron feladatod van, akkor a könnyebb azonosítás érdekében leírhatod hogy ez a feladat mit csinál. Ez a megjegyzés a hiba emailban is benne lesz. * az óra, perc, nap, hét napja mezők értékét a következőkkel adhatod meg (vesszővel elválasztva): * **egyszerű értékek** Pl.: 1 * **tartományok** Pl.: 1-5 * **minden lehetséges érték: ** * * **oszthatóság** Pl.: */5 (minden 5-tel osztható) vagy 1-30/10 (minden 10-el osztható 1 és 30 között, azaz 10,20,30) == Az adott WebCron folyamat akkor fut le, ha minden feltétel (perc, óra, nap, hét napja) egyszerre teljesül. == * **Példák: ** * **10 percenként: ** * perc: */10 * óra: * * nap: * * a hét napja (DOW): * * **minden egész óra 5. percében:** * perc: 5 * óra: * * nap: * * a hét napja (DOW): * * **minden páros órában 10 percenként: ** * perc: */10 * óra: */2 * nap: * * a hét napja (DOW): * * **minden hétköznap hajnal 1, 2, 3 órakor valamint délben: ** * perc: 0 * óra: 1-3,12 * nap: * * a hét napja (DOW): * * **minden hétfőn éjfélkor: ** * perc: 0 * óra: 0 * nap: * * a hét napja (DOW): 1 ==== Megjegyzések ==== * A WebCron rendszer úgy működik, mint egy időzített webböngésző: valódi HTTP(S) kéréseket intéz rendszerünk felé a megadott időpontokban, majd a visszatérési kód és script futásának ideje alapján dönti el, hogy a hívás sikeres vagy sikertelen volt-e. * A tárhelyszolgáltatás alatt NEM lehetséges shell-alapú cron futtatást beállítani! * Minden hívás látszik az access.log naplókban (a kéréseket a rendszer Viacom WebCron/verzió User-Agent mezővel adja le) * Az időzített script hibái könnyebben kijavíthatóak a hibanaplók (error.log) alapján. * Az időzített script kimenetét a rendszer tárolja és a CRON feladatben beállított esetekben elküldi az általad beállított e-mail címre. * A rendszer csak és kizárólag nálunk hosztolt weboldalakon hajlandó időzített hívásokat végezni! * A rendszer a CRON feladatok módosításait percenként dolgozza fel. * A rendszer terheléselosztási okokból az elvégzendő feladatokat a végrehajás percén belül szétosztja. (domain azonosító modulo 60 alapján) * Az így futtatott scriptekre érvényesülnek a szokásos limitációk és időkeretek, melyek a webkiszolgálásnál ismertek, így hosszabb futás esetén érdemes kimenetet írni, pl. éppen mit csinál a script, vagy hány százaléknál tart a munkájában, hogy a rendszer ne állítsa le a futtatást idő előtt. (Ez amúgy debug szempontból is előnyös!) * Minden CRON feladatból egyszerre maximum 1 futhat. A rendszer kihagyja a feladat futtatását, amennyiben az adott feladat már fut (egy korábbi időzített futtatás eredménye képpen) * Ha biztosítani szeretnéd, hogy a script ne induljon el egy "normál" webes kérésre, akkor az URL-hez GET paraméterként hozzáfűzhetsz például egy jelszót, aminek meglétét később a scriptben ellenőrizni tudod, pl.: http://viacomkft.hu/test.php?do=cron&pass=secret