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.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 `_ 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 `_