Kako radi parser cron izraza
Ovaj alat uzima cron izraz i rastavlja ga na njegove pojedinačne komponente, prikazujući značenje svakog dijela rasporeda. Osim raščlambe samog izraza, alat izračunava i prikazuje popis nadolazećih vremena kada će se raspored pokrenuti, prilagođen lokalnoj vremenskoj zoni korisnika.
Za analizu su potrebna dva unosa:
- Cron izraz: Jednolinijski tekstualni unos koji podržava standardne formate s 5 polja (minuta, sat, dan u mjesecu, mjesec i dan u tjednu). Podržani su rasponi (npr.
1-5), koraci (npr.*/15), popisi (npr.1,15), nazivi mjeseci (npr.JAN), nazivi dana u tjednu (npr.MON) te prečaci@yearly,@monthly,@weekly,@dailyi@hourly. Primjer unosa je*/15 9-17 * * MON-FRI. - Broj: Brojčani unos kojim se prilagođava količina prikazanih budućih vremena pokretanja, u rasponu od 1 do 20.
Nakon obrade, alat generira sljedeće izlazne podatke:
- Analiza rasporeda:
- Minuta: Analizirana vrijednost za polje minute.
- Sat: Analizirana vrijednost za polje sata.
- Dan u mjesecu: Analizirana vrijednost za polje dana u mjesecu.
- Mjesec: Analizirana vrijednost za polje mjeseca.
- Dan u tjednu: Analizirana vrijednost za polje dana u tjednu.
- Sljedeća pokretanja: Popis nadolazećih vremena izvršavanja uz napomenu
(Vaše lokalno vrijeme)i podatak o broju prikazanih pokretanja pod oznakomPrikazana pokretanja.
Sintaksa i pravila interpretacije polja
Standardni cron format koristi pet polja odvojenih razmakom. Alat analizira svako polje prema definiranim pravilima i pretvara tehničke simbole u tekstualno objašnjenje:
- Zamjenski znak (wildcard): Znak
*u bilo kojem polju označava da je dopuštena bilo koja vrijednost, što se u analizi prikazuje kao "Bilo koji". - Koraci: Konstrukcije oblika
*/nprevode se ovisno o polju u kojem se nalaze. Alat ih prikazuje kao "Svakih{n}minuta", "Svakih{n}sati", "Svakih{n}dana" (za dan u mjesecu ili dan u tjednu) ili "Svakih{n}mjeseci". - Ograničenja dana: Kada su i dan u mjesecu i dan u tjednu ograničeni (odnosno, nijedno polje ne sadrži znak
*), vrijedi specifično pravilo: dovoljno je da se podudara bilo koji od ta dva uvjeta kako bi se raspored pokrenuo.
Alat je strogo ograničen na standardnu sintaksu s 5 polja i navedene prečace. Ne podržava se šesto polje za sekunde, kao ni specifična proširenja poput onih u Quartz formatu (npr. znakovi L, W ili #).
Specifična stanja i rukovanje pogreškama
Tijekom rada s alatom može doći do promjene stanja sučelja ovisno o ispravnosti unesenog izraza:
- Prazan unos: Ako se polje za unos potpuno isprazni, alat se vraća u početno stanje i prikazuje poruku "Unesite cron izraz kako biste ga analizirali.".
- Sintaktička pogreška: Ako uneseni tekst ne prati pravila cron sintakse, sustav javlja pogrešku "Nevažeći cron izraz.".
- Nemogući rasporedi: Ako je izraz sintaktički ispravan, ali definira raspored koji se nikada ne može izvršiti, sustav prikazuje upozorenje "Ovaj se raspored nikada ne može dogoditi — provjerite postoji li dan u mjesecu koji ne postoji u svakom odabranom mjesecu.". To se najčešće događa kada se postavi vrijednost 31 za dan u mjesecu, a u polju mjeseca su odabrani mjeseci koji imaju manje dana, poput travnja, lipnja, rujna ili studenog.
Utjecaj vremenskih zona na izvršavanje
Izračun i prikaz nadolazećih vremena pokretanja u potpunosti ovise o lokalnoj vremenskoj zoni koja je aktivna u web pregledniku korisnika. Sam cron izraz ne sadrži informaciju o vremenskoj zoni niti je može definirati unutar svojih pet standardnih polja.
Prilikom postavljanja zadataka na poslužiteljima, stvarni trenutak izvršavanja ovisit će o sistemskom vremenu i vremenskoj zoni samog poslužitelja ili servisa koji pokreće planer zadataka. Prikaz u ovom alatu služi isključivo za lakšu vizualizaciju i provjeru logike rasporeda u lokalnom vremenu korisnika.
Privatnost i lokalna obrada podataka
Obrada unesenih podataka provodi se lokalno. Vaš se cron izraz analizira u Vašem pregledniku. Tijekom rada i analize izraza, nikakvi se podaci ne šalju na BroBroGo. Ovakav pristup osigurava neposrednu obradu unutar korisničkog sučelja bez mrežnog prometa prema poslužitelju za potrebe same parsacije.
Često postavljana pitanja (FAQ)
Koju cron sintaksu podržava ovaj alat?
Standardni cron s 5 polja — minuta, sat, dan u mjesecu, mjesec i dan u tjednu — uključujući raspone (1-5), korake (*/15), popise (1,15), nazive mjeseci i dana u tjednu (JAN, MON) te prečace @yearly/@monthly/@weekly/@daily/@hourly. Jedno pravilo koje se lako previdi: kada su i dan u mjesecu i dan u tjednu ograničeni (nisu *), dovoljno je da se podudara bilo koji od njih — ne moraju se podudarati oba.
U kojoj su vremenskoj zoni prikazana sljedeća vremena pokretanja?
Lokalnu vremensku zonu Vašeg preglednika — istu onu koju koristi sat Vašeg sustava. Standardni cron ne sadrži vlastitu vremensku zonu; o tome odlučuje planer zadataka koji ga pokreće, pa ova vremena tretirajte kao pregled vlastitog lokalnog rasporeda, a ne nužno onog na poslužitelju.
Zašto piše da se ovaj raspored nikada ne može dogoditi?
Obično se radi o vrijednosti dana u mjesecu koja ne postoji u svakom odabranom mjesecu — na primjer, 31. dan uz travanj, lipanj, rujan ili studeni u polju za mjesec. Odaberite dan koji postoji u svim navedenim mjesecima ili podijelite raspored na zasebne izraze.
Podržava li ovaj parser sekunde ili posebne znakove poput L i W?
Ne. Alat podržava isključivo standardni format s 5 polja i ne prepoznaje šesto polje za sekunde niti proširenja specifična za Quartz i slične sustave koji koriste znakove poput L, W ili #.