Job Schedulers in Python

6 projects in DevOps. Most starred: apache-airflow, prefect and dagster.

For scheduling inside a single process, the schedule library offers a readable syntax for running functions every few minutes or at a set time, with no persistence. APScheduler is more complete: cron, interval and one-off triggers, persistent job stores so jobs survive restarts, and async support. Both run in your application, so they stop when it stops.

Workflow orchestrators manage many dependent tasks with retries, history and a UI. Apache Airflow defines pipelines as DAGs of tasks and is the most established choice for scheduled batch data work. Dagster models pipelines around the data assets they produce, with lineage and testing built in. Prefect turns ordinary Python functions into flows with decorators and needs less upfront infrastructure. Temporal is different: it provides durable execution, so a workflow can run for days and resume exactly where it left off after a crash. It suits long-running business processes and needs a Temporal server or Temporal Cloud.

Task Scheduling2

apscheduler

A light but powerful in-process task scheduler that lets you schedule functions.

7.7kupdated 12d ago3.11.3

schedule

Python job scheduling for humans.

12.3kupdated 2y ago

Workflow Orchestration4

temporalio

Temporal SDK for durable, fault-tolerant workflows that survive crashes and retries.

1.2kupdated 1d ago1.34.0

dagster

An orchestration platform for the development, production, and observation of data assets.

16.3kupdated today1.13.26

apache-airflow

Airflow is a platform to programmatically author, schedule and monitor workflows.

47.3kupdated today3.3.2

prefect

A modern workflow orchestration framework that makes it easy to build, schedule and monitor robust data pipelines.

24.1kupdated today3.9.0
Esc

Type to search every entry. ↑↓ to move, Enter to open.