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
Job
.get_job_result
(job_id[, queue_name])Retrieve 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
Job
.- Parameters:
job_id (
str
) – The job’s identifier. This is the same as theJobMetadata.id
attribute, provided when initially adding a job to the queue.
- 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)¶
Retrieve the job result, if available.
- Parameters:
job_id (
str
) – The job’s identifier. This is the same as theJobMetadata.id
attribute, provided when initially adding a job to the queue.
- 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