# Zizq v0.6.0 - Table of Contents

> Official Elixir client for the Zizq job queue server

## Pages

- [Zizq Elixir Client](readme.md)
- [Changelog](changelog.md)
- [LICENSE](license.md)

## Modules

- [Zizq](Zizq.md): Official Elixir client for the [Zizq](https://zizq.io) job queue.
- [Zizq.Config](Zizq.Config.md): Validated configuration for a running `Zizq` client.

- Producing
  - [Zizq.Enqueue](Zizq.Enqueue.md): Job inputs to be enqueued.
  - [Zizq.JobKind](Zizq.JobKind.md): Defines a kind of job: its name on the server, the enqueue options it
defaults to, and what running it does.
  - [Zizq.PayloadHasher](Zizq.PayloadHasher.md): Derives a stable key from a job's payload.

- Consuming
  - [Zizq.Router](Zizq.Router.md): Dispatches jobs to the module that defines them, by type.
  - [Zizq.Stream.Take](Zizq.Stream.Take.md): A long-lived connection to `/jobs/take`, delivering jobs to an owner
process as they arrive.
  - [Zizq.Worker](Zizq.Worker.md): Takes jobs from a queue and runs them.
  - [Zizq.Worker.Acker](Zizq.Worker.Acker.md): Acknowledges completed work, batching successes into single requests.

- Reading
  - [Zizq.ErrorPage](Zizq.ErrorPage.md): One page of a job's failed attempts, and where the next one is.
  - [Zizq.Filter](Zizq.Filter.md): Filters shared by every endpoint that selects jobs.
  - [Zizq.JobPage](Zizq.JobPage.md): One page of a job listing, and where the next one is.
  - [Zizq.Query](Zizq.Query.md): A composable job query that handles pagination internally.

- Scheduling
  - [Zizq.Cron](Zizq.Cron.md): A named group of scheduled jobs.
  - [Zizq.CronEntry](Zizq.CronEntry.md): One scheduled job within a cron group.

- Resources
  - [Zizq.Backoff](Zizq.Backoff.md): Per-job retry backoff policy.
  - [Zizq.BatchConfig](Zizq.BatchConfig.md): Batching configuration: fold an enqueue into an existing `:ready` job
rather than creating a new one.
  - [Zizq.ErrorRecord](Zizq.ErrorRecord.md): What a worker reported when an attempt at a job failed.
  - [Zizq.Job](Zizq.Job.md): A job record from the server.
  - [Zizq.Retention](Zizq.Retention.md): How long a job stays on the server after reaching a terminal state.

- Testing and observability
  - [Zizq.Telemetry](Zizq.Telemetry.md): The `:telemetry` events this client emits.
  - [Zizq.Testing](Zizq.Testing.md): Assert on what your code enqueued, and run job handlers directly,
without a server.

- Internals
  - [Zizq.Codec](Zizq.Codec.md): Serialization format used for request and response bodies.
  - [Zizq.Codec.JSON](Zizq.Codec.JSON.md): JSON codec, built on Elixir's `JSON` module (OTP's `:json` underneath).
  - [Zizq.Codec.MessagePack](Zizq.Codec.MessagePack.md): MessagePack codec, built on `Msgpax`. The default.
  - [Zizq.Error](Zizq.Error.md): The error returned by every `Zizq` function.

- Exceptions
  - [Zizq.Router.UnknownJobType](Zizq.Router.UnknownJobType.md): Raised when a job's type matches no registered route.

