FREEDOM251

Freedom251 › Task Queue Software

Procrastinate

Free plan APILinuxMacSelf-hostedWindows

Visit Procrastinate Alternatives Pricing

Procrastinate's own site

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

PlanBilled and limitsPrice
ProcrastinateOpen-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

  1. Open the Procrastinate documentation website.
  2. Prepare a Python virtual environment.
  3. Install the library with `pip install procrastinate`.
  4. Use PostgreSQL 13 or later to store and manage jobs.
  5. 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

Look at these too