Freedom251 › Task Queue Software
Procrastinate

What Procrastinate is
Procrastinate is a free, open-source Python library for sending deferred work to background workers. It uses PostgreSQL 13 or later to store task definitions, coordinate locks, and dispatch jobs, and it can run synchronous or asynchronous code; its documentation recommends asynchronous use when possible. Jobs can be scheduled for a future time, delayed by a specified interval, or launched periodically. Retry settings include limits, exception filters, and constant, linear, or exponential delays. When jobs share a lock, they run one at a time, sorted by descending priority and then by creation time. For Django projects, the integration can use Django database settings, load tasks from apps, and provide models, admin pages, and migrations for Procrastinate tables. Command-line health checks and an interactive administration shell help inspect and manage jobs, tasks, queues, and locks. The shell is experimental, and there is no administration web portal. Procrastinate is self-hosted and can be installed in a Python virtual environment with `pip install procrastinate`. Windows is supported, though Unix-like systems are advised for production because workers may stop abruptly on Windows, which has no automated tests.
Who it suits
It suits Python applications that need to defer work to workers, including projects using Django or ASGI frameworks. Users need to provide PostgreSQL 13 or later and manage a self-hosted deployment.
What it does well
- Supports one-time, delayed, and recurring jobs.
- Offers configurable retry limits and delay strategies.
- Django integration includes models, admin pages, and migrations.
- Command-line tools provide health checks and job administration.
What to know first
- Requires PostgreSQL 13 or later.
- Administration shell is experimental; no web portal is available.
- Windows has no automated tests; Unix-like systems are advised for production.
Limits
The administration shell is experimental, and an administration web portal is not available. For Windows production, the documentation warns that workers may stop abruptly and notes there are no automated Windows tests.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Procrastinate | Open-source Python library; uses PostgreSQL 13+ | Free |
As procrastinate.readthedocs.io lists them, read 9 Oct 2026. The maker's own page has the final word.
Getting started
- Open the Procrastinate documentation website.
- Prepare a Python virtual environment.
- Install the library with `pip install procrastinate`.
- Use PostgreSQL 13 or later to store and manage jobs.
- Choose a supported environment; the documentation advises Unix-like systems for production.
Verdict
Procrastinate covers scheduling, retries, and lock-based job ordering for Python applications using PostgreSQL. Its experimental administration shell and production caveat for Windows are important limits to weigh.
Questions
What does Procrastinate cost?
The Procrastinate plan is free. It is open-source software.
What database does it require?
It relies on PostgreSQL 13 or later to store and manage jobs.
Can jobs be scheduled and retried?
Yes. Jobs can run in the future, after a delay or periodically. Retry strategies can set limits, exception filters and constant, linear or exponential delays.
Does it work with Django?
Yes. Its Django integration can use Django database settings, load tasks from apps, provide models and admin pages, and supply migrations.
Which platforms does it support?
Listed platforms are API, Linux, macOS, self-hosted and Windows. The documentation advises using a Unix-like system in production.
How can jobs be monitored or administered?
The CLI provides health checks and an interactive shell for jobs, tasks, queues and locks. The shell is experimental, and an administration web portal is not yet available.
Facts from Procrastinate's own pages
- Database requirement
- Procrastinate relies on PostgreSQL 13 or later to store and manage jobs. · procrastinate.readthedocs.io, 9 Oct 2026
- Django integration
- The Django integration can use Django database settings, load tasks from apps, provide models and admin pages for Procrastinate tables, and supply Django migrations. · procrastinate.readthedocs.io, 9 Oct 2026
- Error reporting
- When a job raises an error, Procrastinate logs the error with `exc_info`; the documentation names Sentry logging integration and Google Cloud as tools that can collect these errors. · procrastinate.readthedocs.io, 9 Oct 2026
- Execution modes
- It supports synchronous and asynchronous code, and the documentation recommends asynchronous use when possible. · procrastinate.readthedocs.io, 9 Oct 2026
- Installation
- The quickstart installs Procrastinate in a Python virtual environment with `pip install procrastinate`. · procrastinate.readthedocs.io, 9 Oct 2026
- Intended users
- The documentation presents Procrastinate for Python applications that need to defer work to workers, including applications using Django or ASGI frameworks. · procrastinate.readthedocs.io, 9 Oct 2026
- Locks and priorities
- Jobs sharing a lock are processed one at a time, ordered by descending priority and then ascending creation time. · procrastinate.readthedocs.io, 9 Oct 2026
- Monitoring
- The command-line interface provides health checks, and its interactive shell can inspect and administer jobs, tasks, queues, and locks. · procrastinate.readthedocs.io, 9 Oct 2026
- Monitoring limitation
- The documentation says the administration shell is experimental and that an administration web portal is not yet available. · procrastinate.readthedocs.io, 9 Oct 2026
- Purpose
- Procrastinate is an open-source distributed task processing library for Python that uses PostgreSQL to store task definitions, manage locks, and dispatch tasks. · procrastinate.readthedocs.io, 9 Oct 2026
- Retries
- Tasks can use retry strategies with retry limits, constant, linear, or exponential delays, and exception filters. · procrastinate.readthedocs.io, 9 Oct 2026
- Scheduling
- Jobs can be scheduled to run once in the future or after a specified delay, and tasks can also be launched periodically. · procrastinate.readthedocs.io, 9 Oct 2026
- Windows support
- Procrastinate is manually tested and known to work on Windows, but its documentation advises using a Unix-like system in production because workers may stop abruptly and Windows has no automated tests. · procrastinate.readthedocs.io, 9 Oct 2026
Where Procrastinate stands on Freedom251
- Task Queue Software#15 of 37