Queue is a blocking FIFO queue implemented as an Elixir process.
It can be used this way:
{:ok, _pid} = Queue.start_link :queue, 20
Queue.put :queue, "element"
val = Queue.get :queue
IO.inspect Queue.state queue
It monitors processes while they are waiting for writing into or reading from the queue.
If available in Hex, the package can be installed as:
-
Add queue to your list of dependencies in
mix.exs
:def deps do [{:queue, "~> 0.0.1"}] end
-
Ensure queue is started before your application:
def application do [applications: [:queue]] end