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).
Features
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.0)
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)
Documentation
Documentation can be found here.
Source
The source can be browsed at Bitbucket.
Reporting bugs
A bug tracker is provided by bitbucket.org.
Getting help
If you have problems or other questions, you can either:
Ask on the APScheduler Google group, or
Ask on the #apscheduler channel on Freenode IRC
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.