ExStorageService.Replication.JobQueue (ex_storage_service v0.6.3)

Copy Markdown View Source

Compatibility facade over the fenced v2 durable outbox.

New code should use ExStorageService.Metadata.Outbox, ExStorageService.Metadata.JobStore, and ExStorageService.Cluster.Outbox.Dispatcher directly.

Summary

Functions

enqueue(opts)

@spec enqueue(keyword()) :: {:ok, binary()} | {:error, term()}

enqueue(server, opts)

@spec enqueue(
  GenServer.server(),
  keyword()
) :: {:ok, binary()} | {:error, term()}

get_job(queue, job_id)

@spec get_job(atom(), binary()) ::
  {:ok, ExStorageService.Replication.JobQueue.Job.t()}
  | {:error, :not_found | term()}

get_job(server, queue, job_id)

@spec get_job(GenServer.server(), atom(), binary()) ::
  {:ok, ExStorageService.Replication.JobQueue.Job.t()}
  | {:error, :not_found | term()}

list_dead_letter_jobs()

@spec list_dead_letter_jobs() ::
  {:ok, [ExStorageService.Replication.JobQueue.Job.t()]} | {:error, term()}

list_dead_letter_jobs(server)

@spec list_dead_letter_jobs(GenServer.server()) ::
  {:ok, [ExStorageService.Replication.JobQueue.Job.t()]} | {:error, term()}

process_jobs()

@spec process_jobs() :: :ok

process_jobs(server)

@spec process_jobs(GenServer.server()) :: :ok

start_link(opts \\ [])

@spec start_link(keyword()) :: Agent.on_start()