# node-cron/node-cron

Job scheduling for Node.js with overlap prevention, distributed coordination, and background tasks. Zero dependencies.

Repository: https://github.com/node-cron/node-cron
Canonical: https://ross.abutalabs.com/products/node-cron-node-cron
Homepage: https://nodecron.com
Language: TypeScript
License: ISC
License Family: permissive
Topics: cron, node-cron, cron-syntax, scheduled-tasks, scheduled-jobs, background-jobs, cron-jobs, distributed-cron, job-scheduling, nodejs, overlap-prevention
Last push: 2026-08-19T13:02:43+00:00

## Health v2 (maintenance only)
Score: 96/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 92, longevity 100
- inputs: {"age_days": 3864, "days_push": 14, "days_rel": 59, "gap_med": 3, "n_releases_24m": 6}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3275, forks 283 (observed 2026-08-28T04:07:53.325235+00:00)

## What it is
node-cron is a zero-dependency job scheduling library for Node.js that runs recurring tasks using standard cron expressions. It supports overlap prevention, distributed coordination across multiple instances, and running heavy jobs in isolated forked background processes.

## Use cases
- run a task every minute in node.js
- schedule nightly backups with cron expressions
- prevent overlapping runs of long-running jobs
- coordinate cron jobs across multiple app replicas
- run heavy scheduled jobs without blocking the event loop
- schedule tasks in a specific timezone
- pause and resume scheduled tasks at runtime

## When to choose
- you need in-process cron scheduling for a Node.js application
- you want a lightweight scheduler with zero dependencies
- you run multiple instances and need only one to execute each scheduled fire
- you want long-running tasks to skip instead of stacking up

## When to avoid
- you need persistent job queues with retries and durability (use a job queue like BullMQ)
- you need scheduling outside Node.js
- you need sub-second precision timers rather than cron-style schedules

## Facets
- artifact type: library
- maturity: stable
- function: scheduling, workflow-automation, developer-tools
- domain: backend, developer-tools
- platform: cross-platform
- tags: cron, job-scheduler, task-scheduling, background-jobs, distributed-cron, overlap-prevention, zero-dependencies, typescript, automation, nodejs

## Member repositories
- node-cron/node-cron (main) score 96

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:53.325235+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:43:23.203801+00:00, confidence not recorded.
  - readme: https://github.com/node-cron/node-cron (fetched 2026-08-28T04:07:53.325235+00:00, sha 8b5182b60d09)
  - homepage: https://nodecron.com (fetched 2026-08-29T09:36:28.598184+00:00, sha 1aa035542d4c)
  - site_page: https://www.nodecron.com/getting-started.html (fetched 2026-08-29T09:36:28.607916+00:00, sha 515a685f18a7)
  - registry_npm: https://registry.npmjs.org/node-cron (fetched 2026-08-29T09:36:28.609990+00:00, sha ab22ccfefb1c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
