Repolode
Hexagon

Hexagon/croner

Библиотека cron на TypeScript/JavaScript без зависимостей: планирует запуск функций и вычисляет время следующих запусков в Node, Deno, Bun и браузерах.

Звёзды
2,611
Форки
75
Открытые issues
7
Последний коммит
39 минут назад

Что это?

Croner позволяет запускать функции в коде на JavaScript и TypeScript по расписанию cron, а также разбирать cron-выражения, чтобы получить список следующих запусков и проверить, соответствует ли дата шаблону. Библиотека работает в памяти, без базы данных и файлов конфигурации, и поддерживает Node.js, Deno, Bun и браузеры.

Помимо стандартного синтаксиса cron, поддерживаются необязательные поля секунд и года, а также модификаторы L (последний день или день недели), W (ближайший будний день), # (n-й день недели месяца) и + (логика AND между днем месяца и днем недели). Для задач можно указать часовой пояс, приостанавливать, возобновлять или останавливать их, а также задать максимальное число запусков или время начала и окончания.

Для защиты во время выполнения предусмотрена блокировка повторного запуска, пока выполняется предыдущая асинхронная задача, настраиваемая обработка ошибок и возможность вызвать unref для таймеров, чтобы процессы Node или Deno могли завершиться. Типы включены в пакет.

Ключевые возможности

  • 01Планирует запуск функций по cron-выражениям с необязательными полями секунд и года.
  • 02Показывает время следующих и предыдущих запусков и проверяет, соответствует ли дата шаблону.
  • 03Поддерживает часовые пояса, модификаторы L, W, # и +, а также нумерацию дней недели в стиле Quartz.
  • 04Встроенная защита от повторного запуска асинхронных задач и настраиваемая обработка ошибок.
  • 05Не имеет зависимостей; типы TypeScript включены.

Сценарии использования

  • Запуск периодических фоновых задач в сервере на Node.js или Bun без отдельного сервиса планирования.
  • Вычисление нескольких следующих запусков расписания для отображения в интерфейсе.
  • Планирование задач в заданном часовом поясе для пользователей из разных регионов.
  • Запуск таймеров в стиле cron в среде Deno или браузере.

Быстрый старт

  1. 1

    Установите croner через npm

    npm install croner
  2. 2

    Импортируйте класс Cron в проект

    import { Cron } from "croner";
  3. 3

    Запланируйте выполнение функции с помощью cron-шаблона

    new Cron('*/5 * * * * *', () => { console.log('This will run every fifth second'); });

Что важно знать

  • Поскольку всё хранится в памяти, таймеры работают только пока запущен процесс хоста.

Темы

Частые вопросы

Что такое croner?
Библиотека cron на TypeScript/JavaScript без зависимостей: планирует запуск функций и вычисляет время следующих запусков в Node, Deno, Bun и браузерах. Croner позволяет запускать функции в коде на JavaScript и TypeScript по расписанию cron, а также разбирать cron-выражения, чтобы получить список следующих запусков и проверить, соответствует ли дата шаблону. Библиотека работает в памяти, без базы данных и файлов конфигурации, и поддерживает Node.js, Deno, Bun и браузеры.
croner можно использовать бесплатно? Какая у него лицензия?
croner распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
croner всё ещё поддерживается?
Активно поддерживается. Последний коммит в croner — 22 окт. 2026 г..
Для чего можно использовать croner?
Запуск периодических фоновых задач в сервере на Node.js или Bun без отдельного сервиса планирования. Вычисление нескольких следующих запусков расписания для отображения в интерфейсе. Планирование задач в заданном часовом поясе для пользователей из разных регионов. Запуск таймеров в стиле cron в среде Deno или браузере.
Как установить croner?
Установите croner через npm: npm install croner Импортируйте класс Cron в проект: import { Cron } from "croner"; Запланируйте выполнение функции с помощью cron-шаблона: new Cron('*/5 * * * * *', () => { console.log('This will run every fifth second'); });
Где скачать croner?
Исходный код и инструкции по установке — на GitHub: https://github.com/Hexagon/croner

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Бесплатная коллекция открытых API с ежедневными 60-секундными сводками мировых новостей, трендами китайских платформ, ценами, погодой и другими данными; разворачивается на Docker, Deno, Bun, Node.js или Cloudflare Workers.

5,8 тыс.1,1 тыс.TypeScriptMITОбновлён в прошлом месяце