clacks/lib/clacks/application.ex

48 lines
1.2 KiB
Elixir

defmodule Clacks.Application do
# See https://hexdocs.pm/elixir/Application.html
# for more information on OTP Applications
@moduledoc false
use Application
def start(_type, _args) do
# List all child processes to be supervised
children = [
# Start the Ecto repository
Clacks.Repo,
# Start the endpoint when the application starts
ClacksWeb.Endpoint,
# job queue
{Oban, oban_config()}
# Starts a worker by calling: Clacks.Worker.start_link(arg)
# {Clacks.Worker, arg},
]
# See https://hexdocs.pm/elixir/Supervisor.html
# for other strategies and supported options
opts = [strategy: :one_for_one, name: Clacks.Supervisor]
Supervisor.start_link(children, opts)
end
# Tell Phoenix to update the endpoint configuration
# whenever the application is updated.
def config_change(changed, _new, removed) do
ClacksWeb.Endpoint.config_change(changed, removed)
:ok
end
defp oban_config do
opts = Application.get_env(:clacks, Oban)
# if Code.ensure_loaded?(IEx) and IEx.started?() do
# opts
# |> Keyword.put(:crontab, false)
# |> Keyword.put(:queues, false)
# else
# opts
# end
opts
end
end