Skip to main content

In-process task scheduler with Cron-like capabilities

Project description

Advanced Python Scheduler (APScheduler) is a light but powerful in-process task scheduler that lets you schedule jobs (functions or any python callables) to be executed at times of your choosing.

This can be a far better alternative to externally run cron scripts for long-running applications (e.g. web applications), as it is platform neutral and can directly access your application’s variables and functions.

The development of APScheduler was heavily influenced by the Quartz task scheduler written in Java. APScheduler provides most of the major features that Quartz does, but it also provides features not present in Quartz (such as multiple job stores).


  • No (hard) external dependencies

  • Thread-safe API

  • Excellent test coverage (tested on CPython 2.5 - 2.7, 3.2 - 3.3, Jython 2.5.3, PyPy 2.2)

  • Configurable scheduling mechanisms (triggers):

    • Cron-like scheduling

    • Delayed scheduling of single run jobs (like the UNIX “at” command)

    • Interval-based (run a job at specified time intervals)

  • Multiple, simultaneously active job stores:


Documentation can be found here.


The source can be browsed at Bitbucket.

Reporting bugs

A bug tracker is provided by

Getting help

If you have problems or other questions, you can either:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

APScheduler-2.1.2.tar.gz (41.8 kB view hashes)

Uploaded source

Built Distribution

APScheduler-2.1.2-py2.py3-none-any.whl (27.5 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page