blonk is a radar for your web, where you follow vibes for cool blips on the radar
at main 44 lines 1.5 kB view raw
1defmodule ElixirBlonk.Application do 2 # See https://hexdocs.pm/elixir/Application.html 3 # for more information on OTP Applications 4 @moduledoc false 5 6 use Application 7 8 @impl true 9 def start(_type, _args) do 10 children = [ 11 ElixirBlonkWeb.Telemetry, 12 ElixirBlonk.Repo, 13 {DNSCluster, query: Application.get_env(:elixir_blonk, :dns_cluster_query) || :ignore}, 14 {Phoenix.PubSub, name: ElixirBlonk.PubSub}, 15 # Start the Finch HTTP client for sending emails 16 {Finch, name: ElixirBlonk.Finch}, 17 # Start a worker by calling: ElixirBlonk.Worker.start_link(arg) 18 # {ElixirBlonk.Worker, arg}, 19 # Task supervisor for async operations 20 {Task.Supervisor, name: ElixirBlonk.TaskSupervisor}, 21 # Start the simple ATProto session manager 22 ElixirBlonk.ATProto.SimpleSession, 23 # Start the Firehose supervisor 24 ElixirBlonk.Firehose.Supervisor, 25 # Start the HotPostSweeper for periodic checking 26 ElixirBlonk.HotPostSweeper, 27 # Start to serve requests, typically the last entry 28 ElixirBlonkWeb.Endpoint 29 ] 30 31 # See https://hexdocs.pm/elixir/Supervisor.html 32 # for other strategies and supported options 33 opts = [strategy: :one_for_one, name: ElixirBlonk.Supervisor] 34 Supervisor.start_link(children, opts) 35 end 36 37 # Tell Phoenix to update the endpoint configuration 38 # whenever the application is updated. 39 @impl true 40 def config_change(changed, _new, removed) do 41 ElixirBlonkWeb.Endpoint.config_change(changed, removed) 42 :ok 43 end 44end