API Reference exq v0.18.0



Behaviour for creating Exq queue adapters.

Redis based Asynchronous queue.

Interface for retrieving Exq stats.

The API deals with getting current stats for the UI / API.

Custom concurrency or rate limiting at a queue level can be achieved by implementing the Dequeue behaviour.


The Enqueuer is responsible for enqueueing jobs into Redis.

The Manager module is the main orchestrator for the system.

Pipeline is a structure that is used as an argument in functions of module with Exq.Middleware.Behaviour behaviour.

Middleware Server is responsible for storing middleware chain that is evaluated when performing particular job.

This middleware allows you to subscribe to the telemetry events and collect metrics about your jobs.

The Connection module encapsulates interaction with a live Redis connection or pool.

The JobQueue module is the main abstraction of a job queue on top of Redis.

The JobStat module encapsulates storing system-wide stats on top of Redis It aims to be compatible with the Sidekiq stats format.

The Scheduler is responsible for monitoring the schedule and retry queues. These queues use a Redis sorted set (term?) to schedule and pick off due jobs. Once a job is at or past it's execution date, the Scheduler moves the job into the live execution queue.

Stats process is responsible for recording all stats into Redis.

Serializable Job format used by Exq.

This module defines several modes in which Exq can be used.

Struct for node.

Exq supported options.

Struct for in progress worker.

Helper functions for random number.

Helper functions for data and time.

Provides storage functionality for job metadata.

Worker process is responsible for the parsing and execution of a Job.

Supervisor for Exq Worker.

The WorkerDrainer server is responsible for gracefully draining workers when the application is shutting down.

Mix Tasks