blonk is a radar for your web, where you follow vibes for cool blips on the radar
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