# `Kombu.Utils.Scheduling.Cycle`
[🔗](https://github.com/hacktobeer/kombu/blob/v0.1.0/lib/kombu/utils/scheduling.ex#L78)

Polling cycle implementation supporting `:round_robin`, `:priority`, and `:sorted`
(`kombu.utils.scheduling.round_robin_cycle`, `priority_cycle`, `sorted_cycle`).

# `cycle_type`

```elixir
@type cycle_type() :: :round_robin | :priority | :sorted
```

# `t`

```elixir
@type t() :: %Kombu.Utils.Scheduling.Cycle{items: list(), type: cycle_type()}
```

# `consume`

```elixir
@spec consume(t(), non_neg_integer()) :: list()
```

# `get`

```elixir
@spec get(t()) :: {term() | nil, t()}
```

# `new`

```elixir
@spec new(cycle_type() | String.t(), Enumerable.t()) :: t()
```

# `rotate`

```elixir
@spec rotate(t(), term()) :: t()
```

# `update`

```elixir
@spec update(t(), Enumerable.t()) :: t()
```

---

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