Interfaz web para gestionar tareas cron con horarios legibles, registros en tiempo real e historial de ejecución por tarea.
Hexagon/croner
Una biblioteca cron de TypeScript/JavaScript sin dependencias para programar funciones o calcular próximas ejecuciones en Node, Deno, Bun y navegadores.
- Estrellas
- 2,611
- Forks
- 75
- Issues abiertos
- 7
- Último commit
- hace 4 días
¿Qué es?
Croner permite que el código JavaScript y TypeScript ejecute funciones según una programación cron, o evalúe una expresión cron para listar próximas ejecuciones y comprobar si una fecha coincide con un patrón. Se ejecuta en memoria, sin base de datos ni archivos de configuración, y funciona en Node.js, Deno, Bun y navegadores.
Además de la sintaxis cron estándar, admite un campo opcional de segundos y otro de año, junto con L (último día o día de la semana), W (día hábil más cercano), # (enésimo día de la semana del mes) y + (lógica AND entre el día del mes y el día de la semana). Los trabajos pueden dirigirse a zonas horarias específicas, pausarse, reanudarse o detenerse, y configurarse con un número máximo de ejecuciones o una hora de inicio y finalización.
Las protecciones en tiempo de ejecución incluyen la prevención de ejecuciones solapadas, que bloquea nuevos disparos mientras una tarea asíncrona anterior siga en curso, la captura de errores configurable y una opción para desvincular los temporizadores y permitir que los procesos de Node o Deno finalicen. Incluye definiciones de tipos.
Funciones clave
- 01Programa funciones con expresiones cron que admiten campos opcionales de segundos y año.
- 02Lista próximas y anteriores ejecuciones, y comprueba si una fecha coincide con un patrón.
- 03Admite zonas horarias, los modificadores L, W, # y +, y la numeración de días de la semana al estilo Quartz.
- 04Incluye protección contra ejecuciones solapadas de tareas asíncronas y gestión de errores configurable.
- 05No tiene dependencias e incluye definiciones de tipos de TypeScript.
Casos de uso
- Ejecutar trabajos periódicos en segundo plano dentro de un servidor Node.js o Bun, sin un servicio de planificación independiente.
- Calcular las próximas ejecuciones de una programación para mostrarlas en una interfaz de usuario.
- Programar tareas en una zona horaria específica para usuarios de distintas regiones.
- Ejecutar temporizadores de estilo cron en un entorno Deno o de navegador.
Inicio rápido
- 1
Instala croner desde npm
npm install croner - 2
Importa la clase Cron en tu proyecto
import { Cron } from "croner"; - 3
Programa una función con un patrón cron
new Cron('*/5 * * * * *', () => { console.log('This will run every fifth second'); });
Antes de usarlo
- Como todo se mantiene en memoria, los temporizadores solo funcionan mientras el proceso del host está activo.
Temas
Preguntas frecuentes
- ¿Qué es croner?
- Una biblioteca cron de TypeScript/JavaScript sin dependencias para programar funciones o calcular próximas ejecuciones en Node, Deno, Bun y navegadores. Croner permite que el código JavaScript y TypeScript ejecute funciones según una programación cron, o evalúe una expresión cron para listar próximas ejecuciones y comprobar si una fecha coincide con un patrón. Se ejecuta en memoria, sin base de datos ni archivos de configuración, y funciona en Node.js, Deno, Bun y navegadores.
- ¿croner es gratuito? ¿Qué licencia tiene?
- croner es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿croner sigue mantenido?
- Mantenimiento activo. El último commit de croner fue el 18 oct 2026.
- ¿Para qué puedo usar croner?
- Ejecutar trabajos periódicos en segundo plano dentro de un servidor Node.js o Bun, sin un servicio de planificación independiente. Calcular las próximas ejecuciones de una programación para mostrarlas en una interfaz de usuario. Programar tareas en una zona horaria específica para usuarios de distintas regiones. Ejecutar temporizadores de estilo cron en un entorno Deno o de navegador.
- ¿Cómo se instala croner?
- Instala croner desde npm: npm install croner Importa la clase Cron en tu proyecto: import { Cron } from "croner"; Programa una función con un patrón cron: new Cron('*/5 * * * * *', () => { console.log('This will run every fifth second'); });
- ¿Dónde consigo croner?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Hexagon/croner
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una biblioteca de logging sin dependencias para JavaScript y TypeScript, compatible con Deno, Node.js, Bun, navegadores y funciones edge.
Runtime de JavaScript, TypeScript y WebAssembly con valores predeterminados seguros, basado en V8, Rust y Tokio.
Cola de tareas distribuida para Python que ejecuta trabajos en segundo plano y programa tareas entre workers y brokers de mensajes.
Colección gratuita de APIs abiertas con noticias diarias de 60 segundos, tendencias de plataformas chinas, precios, clima y más; se puede implementar en Docker, Deno, Bun, Node.js o Cloudflare Workers.
Biblioteca minimalista de TypeScript, sin dependencias, para generar archivos PDF reales con texto, rectángulos, líneas, imágenes JPEG y enlaces.