Just send yourself a message using send_after then from the handler broadcast your state:
def init(_) do
# compute init state
Process.send_after(self(), :tick, 1000)
{:ok, state}
end
def handle_info(:tick, state) do
Phoenix.PubSub.broadcast(My.PubSub, "sample", {:sample, state})
Process.send_after(self(), :tick, 1000)
end


















