Advanced Python Scheduler (APScheduler) is a light but powerful in-process task scheduler that lets you schedule functions (or any other python callables) to be executed at times of your choosing.
Introduction
Advanced Python Scheduler (APScheduler) is a light but powerful in-process task scheduler that lets you schedule functions (or any other 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).
Features
- No (hard) external dependencies
- Thread-safe API
- Excellent test coverage (tested on cpython 2.4 - 2.7, 3.1 - 3.2, jython 2.5.2, pypy 1.4.1 and 1.5)
- 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:
- RAM
- File-based simple database (shelve)
- sqlalchemy (any supported RDBMS works)
- mongodb