Конструктор на 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.
Често срещани употреби
- Построяване на Cron за GitHub Actions работни потоциGitHub Actions използва cron синтаксис за планирани работни потоци. Постройте и проверете вашия график тук.
- Построяване на Cron за Kubernetes CronJobsKubernetes CronJob ресурсите използват стандартна cron синтаксис. Постройте и обяснете израза визуално.
- Построяване на Cron записи за Linux crontabПостройте изрази за традиционален Unix cron (cron, crontab -e) с увереност.
- Планиране на работи за поддържане на база данниПланирайте резервни копия, вакуум или анализирайте работи с увереност, като използвате cron изрази.
- Научете как работят Cron изразаВсяко коригиране показва незабавно обяснение на английския език и преглед на следващите 5 бягания — най-добрият начин да научите cron.
Как работи
Конструкторът на cron изрази работи изцяло във вашия браузър чрез ръчно написан анализатор в lib/cron.ts — без външна библиотека, без обръщение към сървъра. Той валидира израза, сглобява описание на прост английски, използвайки вградените Intl.DateTimeFormat и Intl.ListFormat API на браузъра за имена на дни и месеци, съобразени с локала, и изчислява следващите планирани времена за изпълнение, обхождайки напред във времето с логика на прескачане на полета, вместо груба сила през всяка минута.
- 1Изразът се анализира поле по полеАнализаторът разделя израза на пет (или шест) полета, разделени с интервали, и токенизира всяко от тях за запетаи, диапазони (напр. 1-5), нотация за стъпка (напр. */15) и именувани стойности като MON или JAN. @макроси като @daily се разгъват до петполевите им еквиваленти преди анализа да започне. Невалидни стойности или числа извън диапазона се появяват като типизирани ключове за грешка, картографирани към локализирани съобщения.
- 2Сглобено описание, четимо от човекdescribeCron() в lib/cron.ts изгражда изречението на английски (или локализирано), проверявайки кои полета са символи за всичко (wildcards) спрямо изрични набори. Имената на дните и месеците се разрешават чрез Intl.DateTimeFormat с активния локал, а елементите на списъка се съединяват чрез Intl.ListFormat, така че съюзът („и“ спрямо „,“ или специфична за локала форма) съответства на езика на потребителя.
- 3Следващите времена за изпълнение се изчисляват с прескачане на полетаnextRuns() обхожда обект Date напред от текущия момент, но прескача цели месеци, дни или часове, които не могат да съвпаднат, вместо да тества всяка минута. Това означава, че невъзможен график като 30 февруари бързо приключва чрез петгодишна проверка на хоризонта, вместо да обикаля 2.6 милиона пъти.
- 4Изразът се споделя чрез URL фрагментаВсеки въведен от вас израз се записва в URL фрагмента на страницата като #expr= (с отлагане от 500 мс чрез window.history.replaceState). Фрагментът никога не се изпраща до сървър; страницата се хидратира от него при зареждане, така че споделянето или отмятането на URL възстановява точния израз без каквото и да е състояние на сървъра.
Свързани инструменти
Обяснител на cron изрази
Преведете всеки cron израз на прост език и вижте следващите времена на изпълнение. Поддържа диапазони, списъци, стъпки, имена и @макроси. Работи в браузъра ви.
Калкулатор на EMI
Изчислете месечната си EMI на основата на намаляващ баланс с пълен амортизационен график, разбивка на главница и лихва, и спестяване от авансово плащане, форматирано в индийски рупии.
Калкулатор за личен кредит
Месечна вноска, обща лихва, дата на погасяване и пълен амортизационен график за всеки кредит с фиксиран лихвен процент — със допълнителни плащания.