Quick Summary — TL;DR
A scheduled task is any piece of work that is configured to execute at a predetermined time rather than in response to a user action. It is the broadest term for time-triggered automation: a cron job on Linux is a scheduled task, a Windows Task Scheduler entry is a scheduled task, and an AWS EventBridge rule that fires every hour is a scheduled task. The concept is platform-agnostic — the implementation varies.
A cron job is a specific type of scheduled task that runs on Unix-like systems using the cron daemon and a cron expression to define its schedule. The term "cron job" is often used colloquially to mean any recurring task, but technically it refers to the Unix implementation only.
"Scheduled task" is the umbrella term. Every cron job is a scheduled task, but not every scheduled task is a cron job. A one-time task that runs next Tuesday at 3 PM is a scheduled task but not a cron job — cron is inherently recurring.
Scheduled tasks fall into two categories:
The original scheduled task system. The cron daemon reads crontab files and executes commands when their cron expression matches the current time. Simple, reliable for basic needs, but no retries, no execution history, and no alerts.
The Windows equivalent of cron. Supports triggers (time-based, event-based, login-based), actions (run a program, send an email), and conditions (only on AC power, only if idle). More feature-rich than cron but tied to a single Windows machine.
AWS EventBridge Scheduler, Google Cloud Scheduler, and Azure Logic Apps provide managed scheduling that invokes Lambda functions, HTTP endpoints, or pub/sub topics on a cron or rate schedule. They handle infrastructure but lock you into a provider and offer limited observability.
Laravel's task scheduler, Celery Beat (Python), Quartz (Java), and node-cron (Node.js) let you define scheduled tasks in application code. They integrate tightly with your job queue and can dispatch background jobs on a schedule. The trade-off: they require a running process, and if it stops, scheduling stops.
Services like Recuro call your HTTP endpoint on a schedule you define. Platform-agnostic, with built-in retries, execution logs, and failure alerts. No infrastructure to manage — just expose an endpoint and configure the schedule.
Basic schedulers run your task on time. Production workloads demand more:
A scheduled task is the general concept — any work set to run at a specific time. A cron job is one implementation of a scheduled task, specifically on Unix systems using the cron daemon. Scheduled tasks also exist on Windows (Task Scheduler), in cloud services (EventBridge, Cloud Scheduler), and in application frameworks.
Yes. You can use Windows Task Scheduler, cloud scheduling services (AWS EventBridge, Google Cloud Scheduler), framework-level schedulers (Laravel, Celery Beat), or external HTTP schedulers like Recuro. Cron is just one option among many.
Scheduled tasks rely on cron expressions to define recurring schedules and are a core part of job scheduling. Tasks that process data asynchronously are a form of background job, and the cron daemon remains the most common scheduler on Unix systems. For tasks that need reliability beyond what cron offers, see our guide on monitoring cron jobs with alerts.
Recuro handles cron scheduling, retries, alerts, and execution logs -- so you can focus on building your product.
No credit card required