Əsas məzmuna keç

Pulsuz Cron İfadəsi Qurucusu

Planlaşdırılmış tapşırıqlar üçün cron ifadələri qurun, doğrulayın və izah edin. Canlı sadə dil izahı, növbəti-5-işə salma önizləməsi və ümumi nümunə əvvəlcədən hazırlanmış parametrlər.

Bir dəfə yükləndikdən sonra oflayn işləyir
dəqiqə
(0-59)
saat
(0-23)
gün
(1-31)
ay
(1-12)
həftə günü
(0-7)

Sadə dillə

09:00-də, Bazar ertəsi ilə cümə.

Ümumi nümunələr

Standart Unix cron, GitHub Actions, Kubernetes CronJob və əksər planlama sistemləri ilə uyğundur. 'hər' üçün *, 'hər 5' üçün */5, aralıqlar üçün 1-5, xüsusi dəyərlər üçün 1,15 istifadə edin. @hourly, @daily, @weekly, @monthly, @yearly, MON-FRI və ya JAN-DEC kimi adlar qəbul edir.

Ümumi istifadələr

  • GitHub Aktsiyaları İş Axınları üçün Cron YaratınGitHub Aktsiyaları planlaşdırılmış iş axınları üçün cron sintaksisindən istifadə edir. Burada cədvəlini qurun və yoxlayın.
  • Kubernetes CronJobs üçün Cron YaratınKubernetes CronJob resursları standart cron sintaksisindən istifadə edir. İfadəni vizual olaraq qurun və izah edin.
  • Linux crontab üçün Cron Girişləri YaratınƏnənəvi Unix cron (cron, crontab -e) üçün etibarla ifadələri qurun.
  • Verilənlər Bazası Texniki Servis İşlərini PlanlayınEtibarla cron ifadələrindən istifadə edərək ehtiyat, boşaltma və ya analiz işlərini planlayın.
  • Cron İfadələrinin Necə İşlədiyini ÖyrəninHər tənzimləmə ani İngilis dil izahatı və sonrakı 5 qaçışların önizləməsini göstərir - cron öyrənməyin ən yaxşı yolu.

Necə İşləyir

Cron ifadəsi qurucusu tamamilə brauzerinizdə lib/cron.ts-də əl ilə yazılmış bir parser istifadə edərək işləyir — xarici kitabxana yoxdur, server çağırışı yoxdur. O, ifadəni doğrulayır, lokala-uyğun gün və ay adları üçün brauzerin daxili Intl.DateTimeFormat və Intl.ListFormat API-larından istifadə edərək sadə-ingilis bir təsvir yığır və hər dəqiqəni kobud-güclə sınamaq əvəzinə sahə-atlama məntiqi ilə zamanda irəli gedərək növbəti planlaşdırılmış işə salma vaxtlarını hesablayır.

  1. 1
    İfadə sahə-sahə təhlil edilir
    Parser ifadəni beş (və ya altı) boşluqla ayrılmış sahəyə bölür və hər birini vergüllər, aralıqlar (məsələn, 1-5), addım qeydi (məsələn, */15) və MON və ya JAN kimi adlandırılmış dəyərlər üçün nişanlayır. @daily kimi @makrolar təhlildən əvvəl öz beş-sahəli ekvivalentlərinə genişləndirilir. Etibarsız dəyərlər və ya diapazon-xarici rəqəmlər lokallaşdırılmış mesajlara xəritələnən yazılmış xəta açarları kimi üzə çıxır.
  2. 2
    İnsan-oxunaqlı təsvir yığılır
    lib/cron.ts-dəki describeCron() hansı sahələrin joker və hansı sahələrin açıq dəstlər olduğunu yoxlayaraq ingilis (ya da lokallaşdırılmış) cümləni qurur. Gün və ay adları aktiv lokal ilə Intl.DateTimeFormat vasitəsilə həll edilir, siyahı elementləri isə bağlayıcının (istifadəçinin diline uyğun 'və' ya ',' ya lokala-xas forma) uyğun gəlməsi üçün Intl.ListFormat istifadə edərək birləşdirilir.
  3. 3
    Sahə-atlaması ilə növbəti işə salma vaxtları hesablanır
    nextRuns() cari andan irəli bir Date obyektinin üzərində gəzir, lakin hər dəqiqəni sınamaq əvəzinə uyğun gələ bilməyəcək bütün ay, gün və ya saatları atlayır. Bu, Fev 30 kimi mümkün olmayan bir cədvəlin 2.6 milyon dəfə dövr etmək əvəzinə beş-illik bir üfüq yoxlamasından sürətlə çıxması deməkdir.
  4. 4
    İfadə URL fraqmenti vasitəsilə paylaşılır
    Yazdığınız hər hansı bir ifadə səhifənin URL fraqmentinə #expr= kimi yazılır (window.history.replaceState vasitəsilə 500 ms debounce edilib). Fraqment heç vaxt bir serverə göndərilmir; səhifə yükləndikdə ondan hidrat olur, ona görə bir URL-i paylaşmaq və ya əlfəcinə əlavə etmək heç bir server vəziyyəti olmadan dəqiq ifadəni bərpa edir.

Əlaqəli Alətlər

Tez-tez Verilən Suallar