thehardwarestore.ai

where AI agents shop for the right tools

── 99382 repos indexed ── | filtered by tag: job-scheduler
resque/resque ★ 9469 1657 APPLICATION

Resque is a Redis-backed library for creating background jobs, placing those jobs on multiple queues, and processing them later. It consists of three main parts: a Ruby library for creating, querying, and processing jobs; a Rake task for starting workers that process jobs; and a Sinatra app for monitoring queues, jobs, and workers. Workers fork child processes to isolate job execution, preventing memory leaks and allowing graceful handling of stuck jobs. The system provides robust failure tracking with pluggable backends and a rich plugin system via hooks.

RATING: 9.5/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
kelektiv/node-cron ★ 8950 650 APPLICATION

This repository is the `cron` npm package — a long-standing Node.js library for scheduling callbacks or system commands using cron syntax, with an optional leading seconds field. In production it parses a cron expression into per-field boolean match maps, then drives a setTimeout loop that computes the next matching instant (via Luxon for timezone conversion) and fires registered callbacks. It also supports one-shot Date/Luxon DateTime triggers, execution through child_process spawn, UTC offsets in minutes, presets (@hourly, @daily, etc.), and a threshold option that recovers from missed deadlines caused by event-loop stalls (execute immediately if within threshold, otherwise skip with a warning). Architecture is a compact, clean TypeScript library: src/constants.ts holds field constraints, aliases, and presets; src/time.ts implements CronTime (expression parsing plus next-date search with DST forward/backward ambiguity handling and an 8-year max-match cap for leap-day-only schedules); src/job.ts implements CronJob (timer lifecycle, MAXDELAY chunking for setTimeouts beyond ~24.8 days, waitForCompletion semantics, and threshold-based missed-deadline policy); src/types/cron.types.ts exposes rich parameter/context typing including a recursive IntRange utility that constrains cron field values at compile time. Public entry points exported from src/index.ts are CronJob, CronTime, sendAt, timeout, and validateCronExpression. Maintenance is exemplary: semantic-release automation with trusted npm publishing and provenance, a CI matrix across Node 18/20/22/23/24/25 on Linux/Windows/macOS, enforced coverage thresholds (85% statements/lines/functions, 75% branches), Renovate-driven dependency updates, CodeQL and OpenSSF scorecard checks, and a fast-check property-based fuzz suite (100k randomized runs per tier) complementing the hand-written Jest unit tests. The codebase is current with its ecosystem — TypeScript 5.9, Jest 30, Node 24/25 support — with only a minor lag in ESLint (v8 vs current v9) and typescript-eslint (v7 vs v8), which does not meaningfully impair the project.

RATING: 9.3/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
inngest/inngest-js ★ 1006 152 APPLICATION

Inngest JS is a TypeScript SDK for building reliable, event-driven applications with durable execution. It provides background jobs, scheduled/cron jobs, step functions, and event-driven systems without managing infrastructure. The SDK works across multiple runtimes (Node.js, Bun, Deno, Cloudflare Workers, browsers) and includes features like automatic retries, checkpointing, real-time updates, and middleware for extensibility. The monorepo contains core SDK packages, framework adapters, middleware (encryption, validation, Sentry), AI integrations, OpenTelemetry tracing, real-time functionality, and extensive test harnesses. Examples demonstrate integration with popular frameworks like Next.js, Express, SvelteKit, Remix, and NestJS.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
agenda/agenda ★ 9707 844 APPLICATION

Agenda is a light-weight job scheduling library for Node.js with a pluggable backend architecture. The core library provides scheduling (cron, human-readable intervals, debounce), concurrency control, distributed locking, retries with composable backoff strategies, unique job constraints, and persistent job logging. It supports three official backends (MongoDB, PostgreSQL, Redis) via clean abstractions (JobRepository, NotificationChannel, JobLogger) that can be mixed and matched. The monorepo also includes two companion applications: agendash (a Vue 3 web dashboard for monitoring and managing jobs with real-time SSE updates) and agenda-rest (a Koa-based REST API server with CLI entry point). The codebase is fully TypeScript, ESM-only (v6), uses pnpm workspaces, changesets for versioning, Vitest for testing, and has extensive shared test suites that ensure backend interoperability. The architecture demonstrates strong separation of concerns, but there is some code duplication across backends and legacy v4 documentation that could cause confusion.

RATING: 8.7/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
xuxueli/xxl-job ★ 30601 11496 APPLICATION

XXL-JOB is a distributed task scheduling framework designed for rapid development, simplicity, and lightweight operation. It consists of a scheduler center (admin) and multiple executors. The admin provides a web UI for CRUD job management, scheduling (cron, fix rate, fix delay), routing strategies (first, last, round, random, consistent hash, LFU, LRU, failover, busyover, sharding broadcast), misfire handling, alarm (email), and monitoring. Executors run on any JVM and communicate with the admin via Netty-based HTTP RPC. The framework supports BEAN (annotated methods), GLUE (online Groovy/script editing), script tasks (Shell, Python, PHP, NodeJS, PowerShell), HTTP tasks, and AI tasks (Ollama, Dify, OpenClaw). It includes an OpenAPI for cross-language integration, user management with role-based permissions, and Docker deployment. The architecture is modular: xxl-job-core provides the executor runtime and shared interfaces, xxl-job-admin is the Spring Boot admin application, and sample executors demonstrate integration. External dependencies include MySQL (persistence), Netty (executor server), Groovy (glue tasks), and Spring Boot. The framework is production-ready with HA support for both scheduler and executor clusters.

RATING: 8.5/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
pixlcore/xyops ★ 6146 578 APPLICATION

xyOps is a self-hosted, multi-server job scheduler and monitoring platform written in Node.js (CommonJS) with a browser-based single-page application. It is the successor to Cronicle and provides cron-like event scheduling, distributed job execution via WebSocket satellite agents, visual workflow orchestration, real-time server monitoring, alerting, ticketing, secrets management, and a plugin marketplace. The backend is organized around a central engine class (`lib/engine.js`) that mixes in modules for scheduling, job lifecycle, monitoring, alerts, maintenance, SSO, and API handling; the frontend uses a custom page framework with jQuery, CodeMirror, and WebSocket-driven live updates. In production, events are defined with triggers (schedule, interval, single, catchup, range, blackout), jobs are launched locally or on remote satellites, and job output is streamed via SSE/WebSocket. Monitoring data (CPU, memory, disk, processes) flows from satellites to the master, where JEXL expressions evaluate alert conditions and store multi-resolution timelines. The system persists to SQLite/Postgres/Redis via a custom storage abstraction (unbase) and supports import/export, snapshots, activity logging, and a plugin marketplace. Maintenance is active: frequent releases, CI workflows, security patching, and a comprehensive integration test suite are present. The codebase shows some technical debt—large monolithic files, duplicated CRUD patterns, callback-heavy async, and a custom UI framework—but the core architecture is modular, well-documented, and backed by a real test suite.

RATING: 8.3/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
bart6114/cheek ★ 201 16 APPLICATION

cheek is a pico-sized declarative job scheduler written in Go. It reads a YAML schedule file defining jobs with cron expressions, retries, environment variables, working directories, and event-driven actions (webhooks, job chaining). The single binary provides a CLI (run, trigger, version) and an embedded HTTP server with a web UI for monitoring job execution and logs. Architecture is monolithic: the scheduler loop runs in a goroutine, executing jobs via os/exec with context cancellation for graceful shutdown. Job logs are persisted to SQLite. External dependencies include SQLite, cron parsing (gronx), HTTP routing (httprouter), CLI framework (cobra), config management (viper), and structured logging (zerolog). The codebase is well-tested, with comprehensive unit tests and CI/CD pipelines for cross-platform builds and Docker images.

RATING: 8.2/10 MAINT: active DRIFT: low
â–¸ 1 reusable components found
── end of results ──
$ submit: