In-process task scheduler with Cron-like capabilities
Project description
Advanced Python Scheduler (APScheduler) is a task scheduler and task queue system for Python. It can be used solely as a job queuing system if you have no need for task scheduling. It scales both up and down, and is suitable for both trivial, single-process use cases as well as large deployments spanning multiple nodes. Multiple schedulers and workers can be deployed to use a shared data store to provide both a degree of high availability and horizontal scaling.
APScheduler comes in both synchronous and asynchronous flavors, making it a good fit for both traditional, thread-based applications, and asynchronous (asyncio or Trio) applications. Documentation and examples are provided for integrating with either WSGI or ASGI compatible web applications.
Support is provided for persistent storage of schedules and jobs. This means that they can be shared among multiple scheduler/worker instances and will survive process and node restarts.
The built-in persistent data store back-ends are:
PostgreSQL
MySQL and derivatives
SQLite
MongoDB
The built-in event brokers (needed in scenarios with multiple schedulers and/or workers):
PostgreSQL
Redis
MQTT
The built-in scheduling mechanisms (triggers) are:
Cron-style scheduling
Interval-based scheduling (runs tasks on even intervals)
Calendar-based scheduling (runs tasks on intervals of X years/months/weeks/days, always at the same time of day)
One-off scheduling (runs a task once, at a specific date/time)
Different scheduling mechanisms can even be combined with so-called combining triggers (see the documentation for details).
You can also implement your custom scheduling logic by building your own trigger class. These will be treated no differently than the built-in ones.
Other notable features include:
You can limit the maximum number of simultaneous jobs for a given task (function)
You can limit the amount of time a job is allowed to start late
Jitter (adjustable, random delays added to the run time of each scheduled job)
Documentation
Documentation can be found here.
Source
The source can be browsed at Github.
Reporting bugs
A bug tracker is provided by GitHub.
Getting help
If you have problems or other questions, you can either:
Ask in the apscheduler room on Gitter
Post a question on GitHub discussions, or
Post a question on StackOverflow and add the apscheduler tag
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.
Source Distribution
Built Distribution
File details
Details for the file APScheduler-4.0.0a1.tar.gz
.
File metadata
- Download URL: APScheduler-4.0.0a1.tar.gz
- Upload date:
- Size: 3.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0f3626dd92f8850e0ea1a14f5789bc95b1add8a469d92ba40a6f5c4921a1daf |
|
MD5 | 1caf0dbf7174bc808ac7aa907f3007b0 |
|
BLAKE2b-256 | a4f60b028bf5f18ded9e091a743ce020bc7f1eea3fc6ce824cbd3bd0a2a40c16 |
File details
Details for the file APScheduler-4.0.0a1-py3-none-any.whl
.
File metadata
- Download URL: APScheduler-4.0.0a1-py3-none-any.whl
- Upload date:
- Size: 79.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 065e21f4441cd948304c67d558ba55057dabc00381527cf0926fdba0a7b14ecb |
|
MD5 | eab7ef0cafe845292235d70a011b1d6f |
|
BLAKE2b-256 | 3da2d05402b50f2e89774238db0193f6ce14897e5140ec3721d9847e25f2f800 |