Skip to main content

In-process task scheduler with Cron-like capabilities

Project description

Build Status Code Coverage Documentation

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:

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

APScheduler-4.0.0a2.tar.gz (3.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

APScheduler-4.0.0a2-py3-none-any.whl (82.9 kB view details)

Uploaded Python 3

File details

Details for the file APScheduler-4.0.0a2.tar.gz.

File metadata

  • Download URL: APScheduler-4.0.0a2.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

Hashes for APScheduler-4.0.0a2.tar.gz
Algorithm Hash digest
SHA256 4e502ad00e675765d39e811467d3f16b70aac9490cd88db21aa71f0a853f463f
MD5 19e870ab236d37f979c291b6a25b4ad8
BLAKE2b-256 0aa5939e8fbd3c89c6a2ddc67b58623656155aa05e39e57b41877de5a742b6c4

See more details on using hashes here.

File details

Details for the file APScheduler-4.0.0a2-py3-none-any.whl.

File metadata

  • Download URL: APScheduler-4.0.0a2-py3-none-any.whl
  • Upload date:
  • Size: 82.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.13

File hashes

Hashes for APScheduler-4.0.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 884b05dfd9482c573ec7c47605876d4f725d62d6b3f25fdb4c11ce61be7347a1
MD5 3f9bb230726f0a9aed13c8525693569b
BLAKE2b-256 f25af127722ea0baf1c42bf2cbd9cd05b73df0eea3e416d70a378a8fa353198b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page