Skip to content

Instantly share code, notes, and snippets.

@efrenfuentes
Created September 23, 2016 14:14
Show Gist options
  • Save efrenfuentes/a3d4e070bf694bb74cbe68dfc3d32c04 to your computer and use it in GitHub Desktop.
Save efrenfuentes/a3d4e070bf694bb74cbe68dfc3d32c04 to your computer and use it in GitHub Desktop.
Ejecutar proceso periodicamente en Elixir
defmodule MyApp.Periodically do
use GenServer
def start_link do
GenServer.start_link(__MODULE__, %{})
end
def init(state) do
schedule_work() # Schedule work to be performed at some point
{:ok, state}
end
def handle_info(:work, state) do
# Do the work you desire here
schedule_work() # Reschedule once more
{:noreply, state}
end
defp schedule_work() do
Process.send_after(self(), :work, 2 * 60 * 60 * 1000) # In 2 hours
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment