Packages

Kubernetes integration for and in pure Elixir.

Current section

Files

Jump to
kubex lib Kubex interval_commander.ex
Raw

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