# node-cron/node-cron

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/node-cron-node-cron).**

3,264 stars · 282 forks · TypeScript · ISC

## Links

- GitHub: https://github.com/node-cron/node-cron
- Homepage: https://nodecron.com
- awesome-repositories: https://awesome-repositories.com/repository/node-cron-node-cron.md

## Topics

`background-jobs` `cron` `cron-jobs` `cron-syntax` `distributed-cron` `job-scheduling` `node-cron` `nodejs` `overlap-prevention` `scheduled-jobs` `scheduled-tasks`

## Description

This library provides a task scheduling framework for Node.js applications, enabling the automation of recurring operations using standard cron syntax. It functions as a background task manager that maintains a stateful registry of jobs, allowing for runtime inspection, modification, and lifecycle control of scheduled operations.

The project distinguishes itself through support for distributed environments and resource management. It includes mechanisms to coordinate tasks across multiple application instances, ensuring that scheduled work executes exactly once to prevent overlap or resource contention. To maintain application responsiveness, it can offload resource-intensive logic into isolated child processes, preventing the main event loop from blocking during heavy execution.

The library offers a comprehensive suite of observability and configuration tools, including event-driven lifecycle monitoring, timezone-aware scheduling, and execution timing management. It operates as a zero-dependency runtime, which minimizes the security attack surface and simplifies integration into restricted environments.

## Tags

### DevOps & Infrastructure

- [Distributed Task Coordinators](https://awesome-repositories.com/f/devops-infrastructure/distributed-task-coordinators.md) — Run a scheduled task exactly once across multiple instances using a shared backend while automatically failing over if the elected runner becomes unavailable. ([source](https://nodecron.com/distributed-coordination))
- [Background Task Managers](https://awesome-repositories.com/f/devops-infrastructure/background-task-managers.md) — Manages background tasks by offloading heavy workloads to isolated processes and monitoring their health.
- [Distributed Job Schedulers](https://awesome-repositories.com/f/devops-infrastructure/distributed-job-schedulers.md) — Ensures scheduled tasks execute exactly once across multiple application instances to prevent overlap. ([source](https://github.com/node-cron/node-cron#readme))
- [Distributed Task Coordination](https://awesome-repositories.com/f/devops-infrastructure/distributed-lock-coordination/distributed-task-coordination.md) — Coordinates tasks across multiple instances to ensure exactly-once execution and prevent resource contention. ([source](https://github.com/node-cron/node-cron/blob/main/CHANGELOG.md))
- [Task Configuration Policies](https://awesome-repositories.com/f/devops-infrastructure/workflow-run-management/asynchronous-run-launches/background-task-execution/task-configuration-policies.md) — Adjust settings like timezones, execution limits, and concurrency rules to ensure background operations align with specific operational requirements and system constraints. ([source](https://nodecron.com/migrating-from-v3))
- [Task Lifecycle Management](https://awesome-repositories.com/f/devops-infrastructure/automation-orchestration/task-execution-frameworks/task-job-management/task-lifecycle-management.md) — Provides a consistent interface to start, stop, and remove scheduled jobs at runtime. ([source](https://github.com/node-cron/node-cron/blob/main/README.md))
- [Timezone-Aware Schedulers](https://awesome-repositories.com/f/devops-infrastructure/automation-orchestration/task-execution-frameworks/task-job-management/task-schedulers/delayed-task-scheduling/timed-event-scheduling/timezone-aware-schedulers.md) — Supports timezone-aware scheduling to ensure task execution accuracy across global deployments. ([source](https://nodecron.com/scheduling-options))
- [Distributed Lock Coordination](https://awesome-repositories.com/f/devops-infrastructure/distributed-lock-coordination.md) — Ensures scheduled tasks execute exactly once across multiple application instances using shared locks.
- [Job Registries](https://awesome-repositories.com/f/devops-infrastructure/job-scheduling/job-registries.md) — Maintains an internal registry of active jobs to enable runtime inspection and lifecycle control.
- [Background Process Offloading](https://awesome-repositories.com/f/devops-infrastructure/workflow-run-management/asynchronous-run-launches/background-process-offloading.md) — Offloads heavy tasks to separate processes to maintain application responsiveness. ([source](https://github.com/node-cron/node-cron/blob/main/README.md))
- [Task Execution Placement Restrictions](https://awesome-repositories.com/f/devops-infrastructure/workload-placement-policies/task-execution-placement-restrictions.md) — Prevents duplicate task execution across application nodes by checking environment variables to designate specific runner instances. ([source](https://nodecron.com/distributed-coordination))

### Programming Languages & Runtimes

- [Node.js Job Schedulers](https://awesome-repositories.com/f/programming-languages-runtimes/node-js-job-schedulers.md) — Provides a Node.js library for scheduling recurring tasks with support for distributed coordination and process isolation.
- [Process Forking](https://awesome-repositories.com/f/programming-languages-runtimes/node-js-process-managers/process-forking.md) — Spawns independent child processes to execute resource-intensive logic without blocking the main application event loop.

### Development Tools & Productivity

- [Background Task Schedulers](https://awesome-repositories.com/f/development-tools-productivity/background-task-schedulers.md) — Manages background operations and recurring jobs within an application runtime without external dependencies.
- [Cron Scheduling](https://awesome-repositories.com/f/development-tools-productivity/cron-scheduling.md) — Parses standard cron syntax strings to trigger function execution at precise intervals.
- [Overlap Prevention](https://awesome-repositories.com/f/development-tools-productivity/task-scheduling/overlap-prevention.md) — Skips scheduled runs if a previous execution is still in progress to prevent overlap. ([source](https://nodecron.com/scheduling-options))

### Software Engineering & Architecture

- [Background Task Schedulers](https://awesome-repositories.com/f/software-engineering-architecture/execution-control/background-task-schedulers.md) — Executes scheduled logic in isolated processes to prevent blocking the main application thread. ([source](https://github.com/node-cron/node-cron/blob/main/CHANGELOG.md))
- [Recurring Task Schedulers](https://awesome-repositories.com/f/software-engineering-architecture/recurring-task-schedulers.md) — Automates recurring background operations using standard cron syntax for precise timing and interval control. ([source](https://github.com/node-cron/node-cron#readme))

### Part of an Awesome List

- [Background Task Lifecycle Trackers](https://awesome-repositories.com/f/awesome-lists/devtools/observability-and-monitoring/execution-lifecycle-monitors/background-task-lifecycle-trackers.md) — Provides visibility into scheduling, completion, and failure patterns across the background task ecosystem via lifecycle events. ([source](https://github.com/node-cron/node-cron#readme))
- [Developer Utilities](https://awesome-repositories.com/f/awesome-lists/devtools/developer-utilities.md) — A tiny task scheduler for Node.js.

### System Administration & Monitoring

- [Task Execution Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/activity-monitors/task-execution-monitoring.md) — Tracks task lifecycle events and execution metadata through listeners for detailed performance analysis. ([source](https://github.com/node-cron/node-cron/blob/main/README.md))
- [Execution Observability](https://awesome-repositories.com/f/system-administration-monitoring/execution-observability.md) — Offers a framework for monitoring the health and lifecycle of background jobs in production environments.
- [Task Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/task-monitoring.md) — Emits lifecycle and execution events to track task progress, failures, and missed runs. ([source](https://nodecron.com/migrating-from-v3))
