MockArqQueue#

class safir.arq.MockArqQueue(*, default_queue_name='arq:queue')#

Bases: ArqQueue

A mocked queue for testing API services.

Parameters:

default_queue_name (str, default: 'arq:queue') –

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.

set_complete(job_id, *, result[, success, ...])

Set a job's result, for mocking a queue in tests.

set_in_progress(job_id[, queue_name])

Set a job's status to in progress, for mocking a queue in tests.

Methods Documentation

async enqueue(task_name, *task_args, _queue_name=None, **task_kwargs)#

Add a job to the queue.

Parameters:
  • task_name (str) – The function name to run.

  • *args – Positional arguments for the task function.

  • _queue_name (str | None, default: None) – Name of the queue.

  • **kwargs – Keyword arguments passed to the task function.

  • task_args (Any) –

  • task_kwargs (Any) –

Returns:

Metadata about the queued job.

Return type:

JobMetadata

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 the JobMetadata.id attribute, provided when initially adding a job to the queue.

  • queue_name (str | None, default: None) – Name of the queue.

Returns:

Metadata about the queued job.

Return type:

JobMetadata

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 the JobMetadata.id attribute, provided when initially adding a job to the queue.

  • queue_name (str | None, default: None) – Name of the queue.

Returns:

The job’s result, along with metadata about the queued job.

Return type:

JobResult

Raises:
async set_complete(job_id, *, result, success=True, queue_name=None)#

Set a job’s result, for mocking a queue in tests.

Parameters:
  • job_id (str) –

  • result (Any) –

  • success (bool, default: True) –

  • queue_name (str | None, default: None) –

Return type:

None

async set_in_progress(job_id, queue_name=None)#

Set a job’s status to in progress, for mocking a queue in tests.

Parameters:
  • job_id (str) –

  • queue_name (str | None, default: None) –

Return type:

None