Current section
Files
Jump to
Current section
Files
lib/Kubex/interval_commander.ex
defmodule Kubex.IntervalCommander do
use GenServer
def start_link(receiver, command, time, opts \\ []) do
GenServer.start_link(__MODULE__, {receiver, command, time}, opts)
end
def init({receiver, command, time}) do
Process.send_after(self, :interval, time)
{:ok, {receiver, command, time}}
end
def handle_info(:interval, {receiver, command, time} = state) do
GenServer.call(receiver, command)
Process.send_after(self, :interval, time)
{:noreply, state}
end
def handle_info(_, state) do
{:noreply, state}
end
end