diff options
author | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2020-07-03 19:18:08 +0300 |
---|---|---|
committer | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2020-07-08 15:58:47 +0300 |
commit | 72ad3a66f48d4500be1f25dd7b02b834399d3bbe (patch) | |
tree | 53edca92ccdcd92a19209a5f8174e06636ceaaa9 /lib/mix/pleroma.ex | |
parent | 6335b32aa8f5c54cf5f09638189a77cad5785077 (diff) | |
download | pleroma-72ad3a66f48d4500be1f25dd7b02b834399d3bbe.tar.gz pleroma-72ad3a66f48d4500be1f25dd7b02b834399d3bbe.zip |
don't fully start pleroma in mix tasks
Diffstat (limited to 'lib/mix/pleroma.ex')
-rw-r--r-- | lib/mix/pleroma.ex | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/lib/mix/pleroma.ex b/lib/mix/pleroma.ex index 3ad6edbfb..553c74c25 100644 --- a/lib/mix/pleroma.ex +++ b/lib/mix/pleroma.ex @@ -3,6 +3,8 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Pleroma do + @apps [:restarter, :ecto, :ecto_sql, :postgrex, :db_connection, :cachex] + @cachex_childs ["object", "user"] @doc "Common functions to be reused in mix tasks" def start_pleroma do Application.put_env(:phoenix, :serve_endpoints, false, persistent: true) @@ -11,7 +13,23 @@ defmodule Mix.Pleroma do Application.put_env(:logger, :console, level: :debug) end - {:ok, _} = Application.ensure_all_started(:pleroma) + apps = + if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Gun do + [:gun | @apps] + else + [:hackney | @apps] + end + + Enum.each(apps, &Application.ensure_all_started/1) + + childs = [Pleroma.Repo, Pleroma.Config.TransferTask, Pleroma.Web.Endpoint] + + cachex_childs = Enum.map(@cachex_childs, &Pleroma.Application.build_cachex(&1, [])) + + Supervisor.start_link(childs ++ cachex_childs, + strategy: :one_for_one, + name: Pleroma.Supervisor + ) if Pleroma.Config.get(:env) not in [:test, :benchmark] do pleroma_rebooted?() |