RedisArqQueue#
- class safir.arq.RedisArqQueue(pool, *, default_queue_name='arq:queue')#
Bases:
ArqQueue
A distributed queue, based on arq and Redis.
Methods Summary
enqueue
(task_name, *task_args[, _queue_name])Add a job to the queue.
get_job_metadata
(job_id[, queue_name])Get metadata about a ~arq.jobs.Job.
get_job_result
(job_id[, queue_name])The job result, if available.
initialize
(redis_settings, *[, ...])Initialize a RedisArqQueue from Redis settings.
Methods Documentation
- async enqueue(task_name, *task_args, _queue_name=None, **task_kwargs)#
Add a job to the queue.
- Parameters:
- Returns:
Metadata about the queued job.
- Return type:
- Raises:
JobNotQueued – Raised if the job is not successfully added to the queue.
- async get_job_metadata(job_id, queue_name=None)#
Get metadata about a ~arq.jobs.Job.
- Parameters:
- Returns:
Metadata about the queued job.
- Return type:
- Raises:
JobNotFound – Raised if the job is not found in the queue.
- async get_job_result(job_id, queue_name=None)#
The job result, if available.
- Parameters:
- Returns:
The job’s result, along with metadata about the queued job.
- Return type:
- Raises:
JobNotFound – Raised if the job is not found in the queue.
JobResultUnavailable – Raised if the job’s result is unavailable for any reason.
- async classmethod initialize(redis_settings, *, default_queue_name='arq:queue')#
Initialize a RedisArqQueue from Redis settings.
- Parameters:
redis_settings (
RedisSettings
) –default_queue_name (
str
, default:'arq:queue'
) –
- Return type:
Self