Packages
honeydew
1.1.3
1.5.0
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.0
1.2.8
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
1.0.0-rc7
1.0.0-rc6
1.0.0-rc5
1.0.0-rc4
1.0.0-rc3
1.0.0-rc2
1.0.0-rc1
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Pluggable local/clusterable job queue focused on safety.
Current section
Files
Jump to
Current section
Files
lib/honeydew/dispatcher/lru.ex
defmodule Honeydew.Dispatcher.LRU do
# TODO: docs
def init do
{:ok, :queue.new}
end
def available?(free) do
!:queue.is_empty(free)
end
def check_in(worker, free) do
:queue.in(worker, free)
end
def check_out(_job, free) do
case :queue.out(free) do
{{:value, worker}, free} ->
{worker, free}
{:empty, _free} ->
{nil, free}
end
end
def remove(worker, free) do
:queue.filter(&(&1 != worker), free)
end
end