@xlsft/worker image 0

О проекте

**@xlsft/worker** — Легкий crom, date и event-based task фреймворк  без бойлерплейта

@xlsft/worker

@xlsft/worker — это лёгкий фреймворк для фоновых задач с нулевой настройкой, предназначенный для запуска cron-, date- и event-ориентированных задач в средах Node.js, Deno и Bun. Проект написан на TypeScript и изначально спроектирован как полностью типизированное, минималистичное и предсказуемое решение без лишнего boilerplate-кода. После инициализации воркер автоматически сканирует директорию задач и подключает все файлы с суффиксом .task, регистрируя их триггеры и расписания без необходимости вручную управлять реестром задач или писать дополнительную конфигурацию.

Архитектура строится вокруг функции defineWorker, которая поднимает рантайм и подключает задачи из указанной директории, и defineTask, с помощью которой описывается логика конкретной задачи и её триггер. Поддерживаются три типа запуска: cron-расписание (как в виде классической cron-строки, так и через типизированную схему), запуск по конкретной дате и запуск по событию через встроенный EventEmitter. Если триггер не указан явно, имя файла автоматически становится именем события, что позволяет вызывать задачу по event.emit без дополнительной декларации.

Каждый запуск получает экземпляр TaskEvent — иммутабельный инстанс, содержащий метаданные выполнения, текущее состояние, информацию о триггере и метод emit для вызова других задач. Это позволяет строить цепочки задач и оркестрацию без внешних зависимостей. Задачи могут инициировать другие задачи, формируя событийные пайплайны, а также управлять своим жизненным циклом через методы cancel и kill

Дополнительно предусмотрены параметры управления выполнением: retry задаёт количество повторных попыток при ошибке, times определяет число последовательных запусков в рамках одного триггера, а delay задаёт задержку между выполнениями или ретраями. Это позволяет гибко настраивать поведение без написания собственной логики повторов и таймеров.

Проект уже используется в продакшене, его API и внутренняя структура стабилизированы, но продолжается тестирование граничных сценариев и расширение функциональности, включая улучшение логирования и развитие поддержки корутин.

@xlsft/worker позиционируется как компактная и инженерно чистая альтернатива тяжёлым очередям задач и сложным scheduler-системам, предоставляя предсказуемый и строго типизированный механизм фоновых процессов с минимальным порогом входа.

Пререлиз

О проекте:

@xlsft/worker — Легкий crom, date и event-based task фреймворк без бойлерплейта

Теги:

ossfeatured
jobsrunnertsworker

Стек технологий:

denobuntsnode.js

Ссылки:

https://github.com/xlsft/worker