Machinery is an asynchronous task queue/job queue based on distributed message passing. Please be advised that V2 is work in progress and breaking changes can and will happen until it is ready. You can use the current V2 in order to avoid having to import all dependencies for brokers and backends you are not using. Instead of factory, you will need to inject broker and backend objects to the server constructor. In order to consume tasks, you need to have one or more workers running. All you need to run a worker is a Server instance with registered tasks. Each worker will only consume registered tasks. For each task on the queue the Worker.Process() method will be run in a goroutine. Use the second parameter of server.NewWorker to limit the number of concurrently running Worker.Process() calls (per worker). Example: 1 will serialize task execution while 0 makes the number of concurrently executed tasks unlimited (default).

Features

  • You can delay a task by setting the ETA timestamp field on the task signature
  • Tasks can also be registered one by one
  • Tasks are a building block of Machinery applications
  • Machinery is based on distributed message passing
  • When using AMQP as a result backend, task states will be persisted in separate queues for each task
  • Requires Go, RabbitMQ (optional), and Redis

Project Samples

Project Activity

See All Activity >

Categories

To-Do Lists

License

Mozilla Public License 2.0 (MPL 2.0)

Follow Machinery

Machinery Web Site

You Might Also Like
Red Hat Ansible Automation Platform on Microsoft Azure Icon
Red Hat Ansible Automation Platform on Microsoft Azure

Red Hat Ansible Automation Platform on Azure allows you to quickly deploy, automate, and manage resources securely and at scale.

Deploy Red Hat Ansible Automation Platform on Microsoft Azure for a strategic automation solution that allows you to orchestrate, govern and operationalize your Azure environment.
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Machinery!

Additional Project Details

Operating Systems

Mac

Programming Language

Go

Related Categories

Go To-Do Lists Software

Registered

2021-10-21