Exq.Redis.JobQueue (exq v0.23.0)

View Source

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

It provides functionality for:

  • Storing jobs in Redis
  • Fetching the next job(s) to be executed (and storing a backup of these).
  • Scheduling future jobs in Redis
  • Fetching scheduling jobs and moving them to current job list
  • Retrying or failing a job
  • Re-hydrating jobs from a backup queue

Summary

Functions

Dequeue jobs for available queues

Find a current job by job id (but do not pop it)

Functions

backup_queue_key(namespace, node_id, queue)

dead?(job)

delete_queue(redis, namespace, queue)

dequeue(redis, namespace, node_id, queues)

Dequeue jobs for available queues

dequeue_failed_jobs(redis, namespace, raw_jobs)

dequeue_retry_jobs(redis, namespace, raw_jobs)

dequeue_scheduled_jobs(redis, namespace, raw_jobs)

do_enqueue_job_at(redis, namespace, job, job_serialized, jid, time, scheduled_queue, options \\ [])

enqueue(redis, namespace, queue, worker, args, options)

enqueue_all(redis, namespace, jobs)

enqueue_at(redis, namespace, queue, time, worker, args, options)

enqueue_in(redis, namespace, queue, offset, worker, args, options)

fail_job(redis, namespace, job, error)

failed(redis, namespace, options \\ [])

failed_queue_key(namespace)

failed_size(redis, namespace)

find_job(redis, namespace, jid, queue)

Find a current job by job id (but do not pop it)

find_job(redis, namespace, jid, queue, convert)

full_key(namespace, key)

jobs(redis, namespace)

jobs(redis, namespace, queue, options \\ [])

list_queues(redis, namespace)

queue_key(namespace, queue)

queue_size(redis, namespace)

queue_size(redis, namespace, queue)

re_enqueue_backup(redis, namespace, node_id, queue)

remove_enqueued_jobs(redis, namespace, queue, raw_jobs)

remove_failed_jobs(redis, namespace, raw_jobs)

remove_job(redis, namespace, queue, jid)

remove_job_from_backup(redis, namespace, node_id, queue, job_serialized)

remove_retry(redis, namespace, jid)

remove_retry_jobs(redis, namespace, raw_jobs)

remove_scheduled(redis, namespace, jid)

remove_scheduled_jobs(redis, namespace, raw_jobs)

retry_job(redis, namespace, job)

retry_job(redis, namespace, job, retry_count, error)

retry_or_fail_job(redis, namespace, job, error)

retry_queue_key(namespace)

retry_size(redis, namespace)

schedule_queues(namespace)

scheduled_jobs(redis, namespace, queue, options \\ [])

scheduled_jobs_with_scores(redis, namespace, queue, options \\ [])

scheduled_queue_key(namespace)

scheduled_size(redis, namespace)

scheduler_dequeue(redis, namespace)

scheduler_dequeue(redis, namespace, max_score)

search_jobs(jobs_serialized, jid)

search_jobs(jobs_serialized, jid, bool)

snooze_job(redis, namespace, job, offset)

to_job_serialized(queue, worker, args, options)

to_job_serialized(queue, worker, args, options, enqueued_at)

unique_key(namespace, unique_token)

unlock(redis, namespace, unique_token, jid)

unlock_jobs(redis, namespace, raw_jobs)