Saltar ao contido principal
LibraTool logoLibraTool

Constructor de expresións cron de balde

Constrúe, valida e explica expresións cron para tarefas programadas. Descrición en linguaxe común en directo, previsualización das próximas 5 execucións e preaxustes de patróns comúns.

Funciona sen conexión unha vez cargado
minuto
(0-59)
hora
(0-23)
día
(1-31)
mes
(1-12)
día da semana
(0-7)

En linguaxe sinxela

Ás 09:00, De luns a venres.

Patróns comúns

Compatible con Unix cron estándar, GitHub Actions, Kubernetes CronJob e a maioría dos sistemas de programación. Usa * para 'cada', */5 para 'cada 5', 1-5 para intervalos, 1,15 para valores específicos. Tamén acepta @hourly, @daily, @weekly, @monthly, @yearly, e nomes como MON-FRI ou JAN-DEC.

Usos habituais

  • Construír Cron para Fluxos de Traballo de GitHub ActionsGitHub Actions usa sintaxe cron para fluxos de traballo programados. Constrúi e verifica o teu horario aquí.
  • Construír Cron para Kubernetes CronJobsOs recursos de Kubernetes CronJob usan sintaxe cron estándar. Constrúi e explica a expresión visualmente.
  • Construír Entradas Cron para Linux crontabConstrúi expresións para cron Unix tradicional (cron, crontab -e) con confianza.
  • Programa Traballos de Mantemento de Base de DatosPrograma traballos de backup, vacío ou análise con confianza usando expresións cron.
  • Aprende Cómo Funcionan as Expresións CronCada axuste mostra unha explicación instantánea en inglés e unha vista previa das 5 execucións seguintes - a mellor forma de aprender cron.

Como funciona

O construtor de expresións cron execútase enteiramente no teu navegador usando un analizador escrito a man en lib/cron.ts — sen biblioteca externa, sen chamada a servidor. Valida a expresión, monta unha descrición en linguaxe simple usando as APIs integradas Intl.DateTimeFormat e Intl.ListFormat do navegador para nomes de días e meses adaptados ao idioma, e calcula as próximas execucións programadas avanzando no tempo con lóxica de salto de campos en lugar de forzar bruta cada minuto.

  1. 1
    Expresión analizada campo por campo
    O analizador divide a expresión en cinco (ou seis) campos delimitados por espazos e tokeniza cada un para comas, rangos (por exemplo 1-5), notación de paso (por exemplo */15) e valores con nome como MON ou JAN. As @macros como @daily expándense aos seus equivalentes de cinco campos antes de comezar a análise. Os valores non válidos ou os números fóra de rango xorden como claves de erro tipadas que se mapean a mensaxes localizadas.
  2. 2
    Descrición lexible montada
    describeCron() en lib/cron.ts constrúe a frase en inglés (ou localizada) examinando que campos son comodíns fronte a conxuntos explícitos. Os nomes de días e meses resólvense mediante Intl.DateTimeFormat co idioma activo, e os elementos da lista únense usando Intl.ListFormat para que a conxunción ('e' fronte a ',' fronte á forma específica do idioma) coincida co idioma do usuario.
  3. 3
    Próximas execucións calculadas con salto de campos
    nextRuns() avanza un obxecto Date desde o momento actual, pero salta meses, días ou horas enteiros que non poidan coincidir en lugar de probar cada minuto. Isto significa que un horario imposible como o 30 de febreiro sae rapidamente a través dunha comprobación de horizonte de cinco anos en lugar de facer un bucle 2,6 millóns de veces.
  4. 4
    Expresión compartida mediante o fragmento da URL
    Calquera expresión que escribas escríbese no fragmento da URL da páxina como #expr= (con debounce de 500 ms mediante window.history.replaceState). O fragmento nunca se envía a un servidor; a páxina hidrátase a partir del ao cargar, así que compartir ou marcar unha URL restaura a expresión exacta sen ningún estado de servidor.

Ferramentas relacionadas

Preguntas frecuentes