Use a genserver to periodically fetch metrics
[akkoma] / lib / pleroma / config / transfer_task.ex
index 2e4bcb0ee02b7a3c14643d7f4e63c5710ff57fd6..52f6346a550788cb75d7eb0bffa175527c60a7c9 100644 (file)
@@ -25,7 +25,9 @@ defmodule Pleroma.Config.TransferTask do
     do: [
       {:pleroma, Pleroma.Captcha, [:seconds_valid]},
       {:pleroma, Pleroma.Upload, [:proxy_remote]},
-      {:pleroma, :instance, [:upload_limit]}
+      {:pleroma, :instance, [:upload_limit]},
+      {:pleroma, :http, [:pool_size]},
+      {:pleroma, :http, [:proxy_url]}
     ]
 
   def start_link(restart_pleroma? \\ true) do
@@ -40,6 +42,7 @@ defmodule Pleroma.Config.TransferTask do
       # We need to restart applications for loaded settings take effect
       {logger, other} =
         (Repo.all(ConfigDB) ++ deleted_settings)
+        |> Enum.reject(&invalid_key_or_group/1)
         |> Enum.map(&merge_with_default/1)
         |> Enum.split_with(fn {group, _, _, _} -> group == :logger end)
 
@@ -83,6 +86,10 @@ defmodule Pleroma.Config.TransferTask do
     end
   end
 
+  defp invalid_key_or_group(%ConfigDB{key: :invalid_atom}), do: true
+  defp invalid_key_or_group(%ConfigDB{group: :invalid_atom}), do: true
+  defp invalid_key_or_group(_), do: false
+
   defp merge_with_default(%{group: group, key: key, value: value} = setting) do
     default =
       if group == :pleroma do