# `Zizq.Retention`
[🔗](https://github.com/zizq-labs/zizq-elixir/blob/v0.8.0/lib/zizq/retention.ex#L4)

How long a job stays on the server after reaching a terminal state.

Both values are **milliseconds**, and both are optional. The server's
default applies for omitted fields.

    Zizq.Retention.new!(completed: :timer.hours(24), dead: :timer.hours(24 * 7))

# `t`

```elixir
@type t() :: %Zizq.Retention{
  completed: non_neg_integer() | nil,
  dead: non_neg_integer() | nil
}
```

# `new!`

```elixir
@spec new!(t() | keyword() | map()) :: t()
```

Build a retention policy from a keyword list or map.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
