Back to Explore

agronholm/apscheduler

GitHub
1 updates · last 90 days1 watchersOpen source

Last release:

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: Evidence suggests ongoing maintenance, with the latest upstream push on 2026-07-01 and a recent package update 3.11.3 on 2026-06-28.
  • Update cadence: Recent updates are frequent, roughly weekly in late June 2026 (3.11.3 dated 2026-06-28) after the prior tagged update 3.11.2 on 2025-12-22, indicating a burst of activity in 2026 but a longer quiet stretch before that.

AI summary generated

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

Recent updates

  • 3.11.3

    Release 3.11.3 contains targeted fixes for scheduler timing issues around DST spring-forward gaps and for job import/export correctness. The code changes focus on correcting wakeup delay calculations for time zone aware schedulers and ensuring imported jobs are fully linked back to their scheduler and job store.

  • 3.11.2

    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

    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

    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

    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

    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

    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

    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