X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=lib%2Fmix%2Fpleroma.ex;h=49ba2aae4b0d6daf9f6bc3356015e6cc062ab976;hb=b867f9d7aebc4e5b8832228a54f928b9f92dad0e;hp=de16cc52c920b5298ee90043975e7f9c65d95700;hpb=4cbafcef0c3a0ce9ddf888b558c6691afb96ad94;p=akkoma diff --git a/lib/mix/pleroma.ex b/lib/mix/pleroma.ex index de16cc52c..49ba2aae4 100644 --- a/lib/mix/pleroma.ex +++ b/lib/mix/pleroma.ex @@ -3,19 +3,32 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Pleroma do - @apps [:restarter, :ecto, :ecto_sql, :postgrex, :db_connection, :cachex] - @cachex_childs ["object", "user"] + @apps [ + :restarter, + :ecto, + :ecto_sql, + :postgrex, + :db_connection, + :cachex, + :flake_id, + :swoosh, + :timex + ] + @cachex_children ["object", "user", "scrubber"] @doc "Common functions to be reused in mix tasks" def start_pleroma do Pleroma.Config.Holder.save_default() + Pleroma.Config.Oban.warn() Application.put_env(:phoenix, :serve_endpoints, false, persistent: true) if Pleroma.Config.get(:env) != :test do Application.put_env(:logger, :console, level: :debug) end + adapter = Application.get_env(:tesla, :adapter) + apps = - if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Gun do + if adapter == Tesla.Adapter.Gun do [:gun | @apps] else [:hackney | @apps] @@ -23,15 +36,18 @@ defmodule Mix.Pleroma do Enum.each(apps, &Application.ensure_all_started/1) - childs = [ - Pleroma.Repo, - {Pleroma.Config.TransferTask, false}, - Pleroma.Web.Endpoint - ] + children = + [ + Pleroma.Repo, + {Pleroma.Config.TransferTask, false}, + Pleroma.Web.Endpoint, + {Oban, Pleroma.Config.get(Oban)} + ] ++ + http_children(adapter) - cachex_childs = Enum.map(@cachex_childs, &Pleroma.Application.build_cachex(&1, [])) + cachex_children = Enum.map(@cachex_children, &Pleroma.Application.build_cachex(&1, [])) - Supervisor.start_link(childs ++ cachex_childs, + Supervisor.start_link(children ++ cachex_children, strategy: :one_for_one, name: Pleroma.Supervisor ) @@ -105,4 +121,11 @@ defmodule Mix.Pleroma do def escape_sh_path(path) do ~S(') <> String.replace(path, ~S('), ~S(\')) <> ~S(') end + + defp http_children(Tesla.Adapter.Gun) do + Pleroma.Gun.ConnectionPool.children() ++ + [{Task, &Pleroma.HTTP.AdapterHelper.Gun.limiter_setup/0}] + end + + defp http_children(_), do: [] end