Негізгі мазмұнға өту

Cron өрнегі конструкторы — тегін

Жоспарланған тапсырмалар үшін cron өрнектерін жасаңыз, тексеріңіз және түсіндіріңіз. Тірі қарапайым тіл сипаттамасы, келесі 5 іске қосуды алдын ала қарау және кең таралған үлгі алдын ала орнатулары.

Жүктелгеннен кейін офлайн жұмыс істейді
минут
(0-59)
сағат
(0-23)
күн
(1-31)
ай
(1-12)
апта күні
(0-7)

Қарапайым тілмен

09:00 уақытында, Дүйсенбі-пенсе.

Жалпы үлгілер

Стандартты Unix cron, GitHub Actions, Kubernetes CronJob және басқа жоспарлау жүйелерімен үйлесімді. «Әр» үшін *, «әр 5» үшін */5, ауқымдар үшін 1-5, нақты мәндер үшін 1,15 қолданыңыз. @hourly, @daily, @weekly, @monthly, @yearly және MON-FRI немесе JAN-DEC сияқты атауларды қабылдайды.

Жиі қолданылуы

  • GitHub Actions ағындары үшін Cron құрастырыңызGitHub Actions жоспарланған ағындар үшін cron синтаксисін қолданады. Өзіңіздің кестесін мұнда құрастырыңыз және тексеріңіз.
  • Kubernetes CronJobs үшін Cron құрастырыңызKubernetes CronJob ресурстары стандартты cron синтаксисін қолданады. Өрнекті құрастырыңыз және визуалды түрінде түсіндіріңіз.
  • Linux crontab үшін Cron жазбаларын құрастырыңызДәстүрлі Unix cron (cron, crontab -e) үшін өндіктігі бар өрнектерді құрастырыңыз.
  • Дерекқор ынамдылық жұмыстарын жоспарлаңызcron өрнектерін пайдалана отырып, резервтік, бос және талдау жұмыстарын өндіктігі бар жоспарлаңыз.
  • Cron өрнектері қалай жұмыс істейтінін үйреніңізӘрбір түзеу сəтті ағылшын тіліндегі түсіндіру және келесі 5 жүргіздінің алдын ала қарап көрсетеді - cron үйренудің ең жақсы тәсілі.

Қалай жұмыс істейді

Cron өрнек құрастырушысы толығымен браузеріңізде lib/cron.ts-те қолмен жазылған талдағыш арқылы жұмыс істейді — сыртқы кітапхана жоқ, серверлік шақыру жоқ. Ол өрнекті тексереді, локальге сезімтал күн мен ай атаулары үшін браузердің кірістірілген Intl.DateTimeFormat және Intl.ListFormat API-ларын пайдаланып қарапайым ағылшын сипаттамасын жинақтайды және әр минутты дөрекі күшпен санаудың орнына өріс-өткізу логикасымен уақыт бойынша алға жүру арқылы келесі жоспарланған жұмыс уақыттарын есептейді.

  1. 1
    Өрнек өріс бойынша талданады
    Талдағыш өрнекті бос орынмен бөлінген бес (немесе алты) өріске бөледі және әрқайсысын үтірлер, ауқымдар (мысалы, 1-5), қадам белгілеуі (мысалы, */15) және MON немесе JAN сияқты атаулы мәндер үшін токенайздайды. @daily сияқты @макростар талдау басталмас бұрын өздерінің бес өрісті баламаларына кеңейтіледі. Жарамсыз мәндер немесе ауқымнан тыс сандар жергіліктендірілген хабарламаларға сәйкестендірілетін терілген қате кілттері ретінде пайда болады.
  2. 2
    Адам оқи алатын сипаттама жинақталды
    lib/cron.ts-тегі describeCron() қай өрістердің жабайы карта екенін немесе нақты жиынтық екенін тексеру арқылы ағылшын (немесе жергіліктендірілген) сөйлемін құрады. Күн мен ай атаулары белсенді локальмен Intl.DateTimeFormat арқылы шешіледі, тізім элементтері Intl.ListFormat арқылы біріктіріледі, сондықтан жалғаулық ('және' немесе ',' немесе локальге тән түрі) пайдаланушының тіліне сай келеді.
  3. 3
    Келесі жұмыс уақыттары өріс-өткізумен есептеледі
    nextRuns() Date нысанын ағымдағы сәттен алға қарай жүргізеді, бірақ әр минутты тексерудің орнына сәйкес келе алмайтын бүкіл айларды, күндерді немесе сағаттарды өткізіп жібереді. Бұл 30 ақпан сияқты мүмкін емес кестенің 2.6 миллион рет циклденудің орнына бес жылдық көкжиек тексерісі арқылы тез шығатынын білдіреді.
  4. 4
    Өрнек URL фрагменті арқылы бөлісіледі
    Терген кез келген өрнек беттің URL фрагментіне #expr= ретінде жазылады (window.history.replaceState арқылы 500 мс кідіртілген). Фрагмент ешқашан серверге жіберілмейді; бет жүктелгенде одан регидратталады, сондықтан URL-мен бөлісу немесе оны бетбелгіге қосу кез келген серверлік күйсіз нақты өрнекті қалпына келтіреді.

Байланысты құралдар

Жиі қойылатын сұрақтар