FREEDOM251

Freedom251 › Task Queue Software

Machinery

Free plan Self-hosted

Visit Machinery Alternatives Pricing

Machinery's own site

What Machinery is

Machinery is a free, self-hosted Go library for asynchronous task and job queues using distributed message passing. Worker processes consume queued tasks, with each task handled in a goroutine. Tasks can be delayed with ETA timestamps, scheduled periodically, or arranged into groups, chains, and chords with success and error callbacks. Configurable retries space requests using a Fibonacci sequence. Message brokers include AMQP, Redis, AWS SQS, and Google Cloud Pub/Sub, while result backends include Redis, Memcache, AMQP, and MongoDB. Results expire after 3600 seconds by default. Pending-task inspection is currently available only with Redis as the broker, and the README cautions against AMQP as a result backend for large numbers of parallel tasks. Configuration comes from environment variables or YAML, with optional live reloading every 10 seconds. Task messages and results are JSON encoded, limiting task data to types with native JSON representations. Machinery is licensed under MPL-2.0.

Who it suits

Machinery suits Go developers who need self-hosted asynchronous queues, scheduled jobs, retries, or workflows. It is relevant when you can operate worker processes and select supported brokers and result stores.

What it does well

  • Free open-source Go library
  • Scheduled and periodic tasks
  • Custom retry counts with Fibonacci spacing
  • Multiple message brokers
  • Workflow groups, chains, and chords

What to know first

  • Pending inspection requires Redis broker
  • JSON limits supported task data
  • Results expire after 3600 seconds by default
  • AMQP result backend has a parallel-task caution

Limits

Task results expire after 3600 seconds by default. Pending tasks can currently be inspected only when Redis is the broker, and task messages and results must use native JSON representations.

Plans

PlanBilled and limitsPrice
MachineryOpen-source Go library · MPL-2.0Free

As github.com lists them, read 8 Oct 2026. The maker's own page has the final word.

Getting started

  1. Install the library with go get
  2. Configure a supported message broker
  3. Choose a result backend
  4. Load settings from environment variables or YAML
  5. Run worker processes
  6. Define queued, scheduled or workflow tasks

Verdict

Machinery provides a broad queue and workflow feature set in a self-hosted Go library with no listed cost. Broker, result-backend, inspection, and JSON constraints should shape deployment choices.

Questions

What does Machinery cost?

Machinery is free, with a free open-source plan.

Which language and deployment model does it use?

It is a Go library installed with go get and operated through self-hosted worker processes.

Which message brokers are supported?

Supported brokers are AMQP, Redis, AWS SQS and Google Cloud Pub/Sub.

Where can results be stored?

Result backends include Redis, Memcache, AMQP and MongoDB.

Does it support scheduled jobs and retries?

Yes. Tasks can use ETA timestamps or periodic scheduling, and retries follow a configured count with Fibonacci-spaced requests.

What license covers Machinery?

The repository identifies its license as MPL-2.0.

Facts from Machinery's own pages

Configuration
Configuration can be loaded from environment variables or YAML, with optional live reloading every 10 seconds. · github.com, 8 Oct 2026
Deployment model
The README describes Machinery as a Go library installed with go get and used by running worker processes. · github.com, 8 Oct 2026
License
The repository identifies its license as MPL-2.0. · github.com, 8 Oct 2026
Message brokers
Supported brokers include AMQP, Redis, AWS SQS, and Google Cloud Pub/Sub. · github.com, 8 Oct 2026
Pending task inspection
The README says pending tasks can currently be inspected only when using the Redis broker. · github.com, 8 Oct 2026
Purpose
Machinery is an asynchronous task queue and job queue based on distributed message passing. · github.com, 8 Oct 2026
Result backends
Supported result backends include Redis, Memcache, AMQP, and MongoDB. · github.com, 8 Oct 2026
Results retention
Task results expire after 3600 seconds by default, and the README cautions against AMQP as a result backend for large numbers of parallel tasks. · github.com, 8 Oct 2026
Retries
Tasks can be retried a configured number of times, with retry requests spaced using a Fibonacci sequence. · github.com, 8 Oct 2026
Scheduling
Tasks can be delayed using an ETA timestamp, and the project supports periodic tasks and workflows. · github.com, 8 Oct 2026
Supported task data
Task messages and results are JSON encoded, so supported task types are limited to types with native JSON representation. · github.com, 8 Oct 2026
Task execution
Workers consume queued tasks, and each task is processed in a goroutine. · github.com, 8 Oct 2026
Workflows
The README documents task groups, chains, chords, and success and error callbacks. · github.com, 8 Oct 2026

Where Machinery stands on Freedom251

Look at these too