Tärkeimmät kohdat
- 01Tavallisen englannin selitykset tekevät siitä helppoa vahvistaa, mitä cron-työ todella tekee ennen sen käyttöönottoa.
- 02Seuraavat 5 UTC-suoritusaikaa on lueteltu ISO-8601-muodossa aika-vyöhykkeen turvallisen validoinnin osalta.
- 03Tukee alueet (1-5), luettelot (1,3,5) ja vaiheet (*/15), jotka seuraavat tavallisia Vixie-cron-sääntöjä.
- 04Kaikki juoksee selaimessasi — mitään taustaa, mitään tiliä, mitään verkkopyyntöä.
Miksi Cron-lausekkeita on helppo saada väärin
Cron-syntaksi on kompakti suunnittelu mukaan, mutta tämä kompaktius tekee siitä yllättävän helppo ajoittaa työ väärään aikaan. Puoliyön varmuuskopio, joka laukaisee keskipäivällä UTC:ssa, vaiheittain lauseke, joka ohittaa odotetut ajat, tai päivän viikon arvo, joka on yhden pois — nämä virheet ovat vaikea kiinni kunnes työ äänettömästi ei suorita. Lukemisen 0 */6 * * 1-5 ääneen ei kerro sinulle paljon, ellei tiedä kentän järjestystä sydämessä.
Handytool:in cron builder ratkaisee tämän kääntämällä mikä tahansa kelvollinen lauseke lauseeseen, jota voit todella lukea, sitten näyttää seuraavat viisi kertaa, jotka laukaisevat UTC:ssa. Kiinni virhe ennen se saavuttaa tuotanto, ei jälkeen ajoitettu tehtävä epäonnistuu maanantai aamu.
Kuinka rakentaa ja validoida Cron-lauseketta
- 01
Aloita esiasetelulla tai kirjoita omasi
Esiasetelut kuten Jokainen minuutti, Tunneittain, Päivittäin puoliyöllä, ja Viikoittain maanantaina antavat sinulle oikean aloituskohdan. Vaihda manuaalisen merkinnän omille aikatauluille.
- 02
Syötä viisi kenttääsi
Kirjoita lauseketta minuutti tuntia päivä-kuukauden kuukausi päivä-viikon järjestyksessä. Rakentaja validoi jokaisen kentän rajat, kun kirjoitat.
- 03
Lue tavallisen englannin kuvaus
Selitys päivittyy elävällä. Vahvista, että lause vastaa tarkoitusta — esimerkiksi 'at :00 jokaisen 6th tuntia, maanantai perjantaisin'.
- 04
Tarkista seuraavat 5 suoritusaikaa
Tulevat paloaika on lueteltu ISO-8601 UTC:ssa. Käytä niitä vahvistaa reunatapaukset, kuten kuukauden lopun rajat tai aika-vyöhykkeen siirtymät.
Cron Syntax Nopea viite
Kaikki viisi kenttää seuraavat nämä säännöt:
- 01Asteriskin (*) tarkoittaa jokaista kelvollista arvoa kentässä
- 02Viiva (*/N) askel-portaat alueilla N:n lisäyksillä
- 03Viiva (A-B) vastaa jokaista arvoa A:sta B:hen mukaan lukien
- 04Pilkku (A,B,C) vastaa erityisiä arvojen luetteloa
- 05Kentän alueet: minuutti 0-59, tunti 0-23, päivä 1-31, kuukausi 1-12, viikonpäivä 0-6 (Sunnuntai=0)
Mitään asennusta, mitään palvelinta
Cron rakentaja jäsennää lausekkeita ja laskee seuraavat suoritusajat kokonaan selaimessasi käyttäen JavaScriptiä. Mitään ei lähetetä palvelimelle, joten mitään rekisteröitymistä, mitään API-kiintiötä, ja mitään latenttiyyttä. Seuraavat suoritusajat simulointi minuutin kerralla ottelu vastaan vakio Vixie-cron säännöt, mikä on sama lähestymistapa useimmissa tuotannon aikatauluttajissa.
6-kentän lausekkeita (joissa sekuntien johtava kenttä) ja erityisiä merkkijonoja kuten @daily tai @weekly eivät ole tuettuja. Useimmat tuotanto ympäristöt — mukaan lukien cron itse, Kubernetes, ja GitHub Actions — käytä vakio 5-kenttä muotoa, joten rakentaja keskittyy siihen.
Cron Expression Builder FAQ
Mikä cron-maku tämä rakentaja tukee?
Vakio 5-kenttä Vixie-cron: minuutti, tunti, päivä-kuukausi, kuukausi, päivä-viikko. @daily/@weekly lyhenne ja 6-kenttä sekuntien syntaksi eivät ole tuettuja, kuten useimmat tuotanto aikatauluttajat käyttävät 5-kenttä muotoa.
Miksi seuraavat suoritusajat näytetään UTC:ssa?
Useimmat CI/CD-järjestelmät ja pilvi-aikatauluttajat tulkitsevat cron-lausekkeita UTC:ssa. UTC:n näyttäminen pitää esikatselun kannettavissa ja välttää väärän paikallisen ajan näytöt.
Mikä on ero */15 ja 0,15,30,45 välillä minuutin kentässä?
Molemmat laukaisevat jokaisen 15 minuutin. */15 alkaa 0:sta ja astuu 15:llä, mikä on sama kuin 0,15,30,45. Tunti-kentässä */6 tarkoittaa 0,6,12,18.
Voinko ajoittaa työ kuukauden viimeiselle päivälle?
Vakio cronilla ei ole 'viimeinen päivä' merkki. Voit likimäärin 28-31 päivä-kentässä, mutta käsittelä kuukauden lyhyempi kuin 31 päivää puhtaasti, tarkista päivämäärä sisällä työ käsikirjoitus.
Onko tapa suorittaa työ jokaisen arkipäivän 9 AM:ssa?
Kyllä: 0 9 * * 1-5 laukaisee 09:00 UTC maanantai perjantaisin. Vahvista se rakentajan tavallisen englannin tuotoksessa ja seuraavien suoritusaikahakujen luettelosta ennen käyttöönottoa.