Current section

Files

Jump to
gen_spoxy lib prerender periodic tasks_executor.ex
Raw

lib/prerender/periodic/tasks_executor.ex

defmodule GenSpoxy.Prerender.PeriodicTasksExecutor do
@moduledoc """
responsible on periodically executing prerender tasks.
"""
defmacro __using__(opts) do
quote do
use GenSpoxy.Periodic.TasksExecutor, unquote(opts)
@cache_module Keyword.get(unquote(opts), :cache_module)
def execute_tasks!(_req_key, req_tasks) do
Enum.each(req_tasks, fn [req, opts] ->
Task.start(fn ->
apply(@cache_module, :refresh_req!, [req, opts])
end)
end)
:ok
end
end
end
end