exq v0.10.0 Exq.Redis.JobQueue

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)
delete_queue(redis, namespace, queue)
dequeue(redis, namespace, node_id, queues)

Dequeue jobs for available queues

enqueue(redis, namespace, job_serialized)
enqueue(redis, namespace, queue, job_serialized)
enqueue(redis, namespace, queue, worker, args, options)
enqueue_at(redis, namespace, queue, time, worker, args, options)
enqueue_in(redis, namespace, queue, offset, worker, args, options)
enqueue_job_at(redis, namespace, job_serialized, jid, time, scheduled_queue)
fail_job(redis, namespace, job, error)
failed(redis, namespace)
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)
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_job(redis, namespace, queue, jid)
remove_job_from_backup(redis, namespace, node_id, queue, job_serialized)
remove_retry(redis, namespace, jid)
remove_scheduled(redis, namespace, jid)
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)
scheduled_jobs_with_scores(redis, namespace, queue)
scheduled_queue_key(namespace)
scheduled_size(redis, namespace)
scheduler_dequeue(redis, namespace)
scheduler_dequeue(redis, namespace, max_score)
scheduler_dequeue_requeue(list, redis, namespace, schedule_queue, count)
search_jobs(jobs_serialized, jid)
search_jobs(jobs_serialized, jid, bool)
to_job_serialized(queue, worker, args, options)
to_job_serialized(queue, worker, args, options, enqueued_at)