Back to Explore

agronholm/apscheduler

GitHub
1 watchersOpen source

Last release: 5 months ago

APScheduler is a Python task scheduler and task queue system for running jobs on schedules such as cron-style, interval-based, calendar-based, or one-off triggers. It supports persistent storage and shared schedules across multiple scheduler and worker instances, and can be used in both synchronous and asynchronous applications. Useful for automation and background job scheduling, including deployments that need scaling and high availability.

Project status

  • Actively maintained, with ongoing work across a stable 3.11.x line and a major 4.0.0 alpha line (the most recent summarized update is 3.11.2 on 2025-12-22, and the upstream repo shows a push on 2026-04-06).
  • Apparent update cadence: bugfix updates appear on a rough order of months in the 3.11.x series (3.11.1 on 2025-10-31, 3.11.2 on 2025-12-22), while the 4.0.0 alpha series shows periodic larger update steps earlier (for example 4.0.0a6 on 2025-04-27).

AI summary generated 2 weeks ago

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • 3.11.2

    5 months ago

    Release 3.11.2 fixes an issue where a CronTrigger scheduled during DST transitions could cause the scheduler to enter an infinite loop. The code changes also introduce a broader DST-safe datetime arithmetic strategy based on UTC conversions, affecting core scheduling comparisons and shared datetime utility behavior.

    Breaking
  • 3.11.1

    7 months ago

    Release 3.11.1 is described as a small bugfix release, addressing incorrect exception behavior from scheduler.shutdown() for asynchronous schedulers and a CronTrigger DST fall-back folding issue. The release notes, however, do not mention any broader refactors.

  • 4.0.0a6

    4/27/2025

    APScheduler 4.0.0a6 is a major pre-release that introduces substantial internal refactors around leasing, cleanup, task configuration, and scheduling semantics. The release notes emphasize multiple breaking API changes, including new scheduler-level leasing configuration, changes to how tasks are defined/configured, and adjustments to datastore and trigger behavior.

    BreakingFeatures
  • 3.11.0

    11/24/2024

    APScheduler 3.11.0 focuses on modernizing supported Python and timezone handling, and adds job export/import plus a backported CalendarIntervalTrigger. It also includes fixes for AsyncIOScheduler startup and ProcessPoolExecutor replacement behavior. The release notes mention several runtime-level changes, but the provided code diff fragments show additional structural changes not documented.

    BreakingFeatures
  • 4.0.0a5

    5/15/2024

    Release 4.0.0a5 introduces the new scheduler cleanup() capability and cleanup_interval configuration, along with pause/unpause support for schedules. It also refactors event publishing responsibilities and extends event payloads with scheduling and execution timestamps.

    BreakingFeatures
  • 4.0.0a4

    11/13/2023

    4.0.0a4 contains multiple documented breaking event and datastore schema changes, including renames in event payloads and the Task datastore field rename from executor to job_executor. The diff also shows additional API and model shape changes that are not mentioned in the release notes, which could break downstream integrations.

    BreakingFeatures
  • 4.0.0a3

    10/1/2023

    Release 4.0.0a3 contains multiple breaking API and behavioral changes, including scheduler import restructuring, removal of worker concepts, and significant interface changes for brokers and data stores. It also introduces a new job_executor concept that requires database schema changes, plus adds support for Python 3.12 and drops Python 3.7.

    BreakingFeatures