A thin FIFO queue wrapper over the Erlang :queue module.
It is used to serialise background work (event compilation, library installation) so that only one job runs at a time.
alias MishkaInstaller.QueueAssistant
{{:value, item}, queue} =
QueueAssistant.new()
|> QueueAssistant.insert(:job)
|> QueueAssistant.out()
Summary
Functions
Returns true if queue is empty (or nil).
Inserts item at the rear of queue and returns the new queue.
Returns a new empty queue.
Removes the item at the front of queue.
Types
@type t() :: :queue.queue(any())
An Erlang queue.
Functions
Returns true if queue is empty (or nil).
Inserts item at the rear of queue and returns the new queue.
@spec new() :: t()
Returns a new empty queue.
Removes the item at the front of queue.
Returns {{:value, item}, queue} or {:empty, queue} when the queue is empty.