aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlexander Strizhakov <alex.strizhakov@gmail.com>2020-03-10 15:31:44 +0300
committerAlexander Strizhakov <alex.strizhakov@gmail.com>2020-03-10 15:31:44 +0300
commit426f5ee48a09dbf321c013db08cc849c8929d86d (patch)
tree826001542b3786f04fa23d72d2b358d5890ed9d2 /lib
parentd9f8941dac983d89709645831b41e02adc454740 (diff)
downloadpleroma-426f5ee48a09dbf321c013db08cc849c8929d86d.tar.gz
tesla adapter can't be changed in adminFE
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/config/transfer_task.ex58
1 files changed, 29 insertions, 29 deletions
diff --git a/lib/pleroma/config/transfer_task.ex b/lib/pleroma/config/transfer_task.ex
index bf1b943d8..4a4c022f0 100644
--- a/lib/pleroma/config/transfer_task.ex
+++ b/lib/pleroma/config/transfer_task.ex
@@ -20,8 +20,7 @@ defmodule Pleroma.Config.TransferTask do
{:pleroma, :markup},
{:pleroma, :streamer},
{:pleroma, :pools},
- {:pleroma, :connections_pool},
- {:tesla, :adapter}
+ {:pleroma, :connections_pool}
]
@reboot_time_subkeys [
@@ -35,8 +34,6 @@ defmodule Pleroma.Config.TransferTask do
{:pleroma, :gopher, [:enabled]}
]
- @reject [nil, :prometheus]
-
def start_link(_) do
load_and_update_env()
if Pleroma.Config.get(:env) == :test, do: Ecto.Adapters.SQL.Sandbox.checkin(Repo)
@@ -45,35 +42,30 @@ defmodule Pleroma.Config.TransferTask do
@spec load_and_update_env([ConfigDB.t()]) :: :ok | false
def load_and_update_env(deleted \\ [], restart_pleroma? \\ true) do
- with {:configurable, true} <-
- {:configurable, Pleroma.Config.get(:configurable_from_database)},
- true <- Ecto.Adapters.SQL.table_exists?(Repo, "config"),
- started_applications <- Application.started_applications() do
+ with {_, true} <- {:configurable, Pleroma.Config.get(:configurable_from_database)} do
# We need to restart applications for loaded settings take effect
-
in_db = Repo.all(ConfigDB)
with_deleted = in_db ++ deleted
- reject_for_restart = if restart_pleroma?, do: @reject, else: [:pleroma | @reject]
-
- applications =
- with_deleted
- |> Enum.map(&merge_and_update(&1))
- |> Enum.uniq()
- # TODO: some problem with prometheus after restart!
- |> Enum.reject(&(&1 in reject_for_restart))
+ # TODO: some problem with prometheus after restart!
+ reject = [nil, :prometheus]
- # to be ensured that pleroma will be restarted last
- applications =
- if :pleroma in applications do
- List.delete(applications, :pleroma) ++ [:pleroma]
+ reject_for_restart =
+ if restart_pleroma? do
+ reject
else
- Restarter.Pleroma.rebooted()
- applications
+ [:pleroma | reject]
end
- Enum.each(applications, &restart(started_applications, &1, Pleroma.Config.get(:env)))
+ started_applications = Application.started_applications()
+
+ with_deleted
+ |> Enum.map(&merge_and_update(&1))
+ |> Enum.uniq()
+ |> Enum.reject(&(&1 in reject_for_restart))
+ |> maybe_set_pleroma_last()
+ |> Enum.each(&restart(started_applications, &1, Pleroma.Config.get(:env)))
:ok
else
@@ -81,6 +73,18 @@ defmodule Pleroma.Config.TransferTask do
end
end
+ defp maybe_set_pleroma_last(apps) do
+ # to be ensured that pleroma will be restarted last
+ if :pleroma in apps do
+ apps
+ |> List.delete(:pleroma)
+ |> List.insert_at(-1, :pleroma)
+ else
+ Restarter.Pleroma.rebooted()
+ apps
+ end
+ end
+
defp group_for_restart(:logger, key, _, merged_value) do
# change logger configuration in runtime, without restart
if Keyword.keyword?(merged_value) and
@@ -93,14 +97,10 @@ defmodule Pleroma.Config.TransferTask do
nil
end
- defp group_for_restart(:tesla, _, _, _), do: :pleroma
-
defp group_for_restart(group, _, _, _) when group != :pleroma, do: group
defp group_for_restart(group, key, value, _) do
- if pleroma_need_restart?(group, key, value) do
- group
- end
+ if pleroma_need_restart?(group, key, value), do: group
end
defp merge_and_update(setting) do