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.4 - 2.7, 3.2 - 3.3, Jython 2.5.2, PyPy 1.8)
* 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 `_
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 `_