- Notifications
You must be signed in to change notification settings - Fork0
Task scheduling library for Python
License
anujkarn002/apscheduler
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Warning
The v4.0 series is provided as apre-release and may change in abackwards incompatible fashion without any migration pathway, so do NOT use thisrelease in production!
Advanced Python Scheduler (APScheduler) is a task scheduler and task queue system forPython. It can be used solely as a job queuing system if you have no need for taskscheduling. It scales both up and down, and is suitable for both trivial, single-processuse cases as well as large deployments spanning multiple nodes. Multiple schedulers andworkers can be deployed to use a shared data store to provide both a degree of highavailability and horizontal scaling.
APScheduler comes in both synchronous and asynchronous flavors, making it a good fit forboth traditional, thread-based applications, and asynchronous (asyncio orTrio)applications. Documentation and examples are provided for integrating with eitherWSGIorASGI compatible web applications.
Support is provided for persistent storage of schedules and jobs. This means that theycan be shared among multiple scheduler/worker instances and will survive process andnode 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/orworkers):
- 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-calledcombining triggers(see thedocumentation 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 can be foundhere.
The source can be browsed atGithub.
Abug tracker is provided byGitHub.
If you have problems or other questions, you can either:
- Ask in theapscheduler room on Gitter
- Post a question onGitHub discussions, or
- Post a question onStackOverflow and add the
apscheduler
tag