projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Refactor ES on top of search behaviour
[akkoma]
/
lib
/
pleroma
/
application.ex
diff --git
a/lib/pleroma/application.ex
b/lib/pleroma/application.ex
index c853a2bb4564409c22bae36d5fdc1a622913a35a..b709e737bf2345dd1b032967274230cda8caeb22 100644
(file)
--- a/
lib/pleroma/application.ex
+++ b/
lib/pleroma/application.ex
@@
-25,7
+25,7
@@
defmodule Pleroma.Application do
if Process.whereis(Pleroma.Web.Endpoint) do
case Config.get([:http, :user_agent], :default) do
:default ->
if Process.whereis(Pleroma.Web.Endpoint) do
case Config.get([:http, :user_agent], :default) do
:default ->
- info = "#{Pleroma.Web.
base_
url()} <#{Config.get([:instance, :email], "")}>"
+ info = "#{Pleroma.Web.
Endpoint.
url()} <#{Config.get([:instance, :email], "")}>"
named_version() <> "; " <> info
custom ->
named_version() <> "; " <> info
custom ->
@@
-61,6
+61,11
@@
defmodule Pleroma.Application do
adapter = Application.get_env(:tesla, :adapter)
adapter = Application.get_env(:tesla, :adapter)
+ if match?({Tesla.Adapter.Finch, _}, adapter) do
+ Logger.info("Starting Finch")
+ Finch.start_link(name: MyFinch)
+ end
+
if adapter == Tesla.Adapter.Gun do
if version = Pleroma.OTPVersion.version() do
[major, minor] =
if adapter == Tesla.Adapter.Gun do
if version = Pleroma.OTPVersion.version() do
[major, minor] =
@@
-100,12
+105,10
@@
defmodule Pleroma.Application do
{Oban, Config.get(Oban)},
Pleroma.Web.Endpoint
] ++
{Oban, Config.get(Oban)},
Pleroma.Web.Endpoint
] ++
+ elasticsearch_children() ++
task_children(@mix_env) ++
dont_run_in_test(@mix_env) ++
task_children(@mix_env) ++
dont_run_in_test(@mix_env) ++
- chat_child(chat_enabled?()) ++
- [
- Pleroma.Gopher.Server
- ]
+ shout_child(shout_enabled?())
# See http://elixir-lang.org/docs/stable/elixir/Supervisor.html
# for other strategies and supported options
# See http://elixir-lang.org/docs/stable/elixir/Supervisor.html
# for other strategies and supported options
@@
-218,7
+221,7
@@
defmodule Pleroma.Application do
type: :worker
}
type: :worker
}
- defp
chat_enabled?, do: Config.get([:cha
t, :enabled])
+ defp
shout_enabled?, do: Config.get([:shou
t, :enabled])
defp dont_run_in_test(env) when env in [:test, :benchmark], do: []
defp dont_run_in_test(env) when env in [:test, :benchmark], do: []
@@
-230,17
+233,23
@@
defmodule Pleroma.Application do
keys: :duplicate,
partitions: System.schedulers_online()
]}
keys: :duplicate,
partitions: System.schedulers_online()
]}
+ ] ++ background_migrators()
+ end
+
+ defp background_migrators do
+ [
+ Pleroma.Migrators.HashtagsTableMigrator
]
end
]
end
- defp
cha
t_child(true) do
+ defp
shou
t_child(true) do
[
[
- Pleroma.Web.
ChatChannel.Cha
tChannelState,
+ Pleroma.Web.
ShoutChannel.Shou
tChannelState,
{Phoenix.PubSub, [name: Pleroma.PubSub, adapter: Phoenix.PubSub.PG2]}
]
end
{Phoenix.PubSub, [name: Pleroma.PubSub, adapter: Phoenix.PubSub.PG2]}
]
end
- defp
cha
t_child(_), do: []
+ defp
shou
t_child(_), do: []
defp task_children(:test) do
[
defp task_children(:test) do
[
@@
-295,11
+304,25
@@
defmodule Pleroma.Application do
defp http_children(_, _), do: []
defp http_children(_, _), do: []
+ def elasticsearch_children do
+ config = Config.get([Pleroma.Search, :module])
+
+ if config == Pleroma.Search.Elasticsearch do
+ [Pleroma.Search.Elasticsearch.Cluster]
+ else
+ []
+ end
+ end
+
@spec limiters_setup() :: :ok
def limiters_setup do
config = Config.get(ConcurrentLimiter, [])
@spec limiters_setup() :: :ok
def limiters_setup do
config = Config.get(ConcurrentLimiter, [])
- [Pleroma.Web.RichMedia.Helpers, Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy]
+ [
+ Pleroma.Web.RichMedia.Helpers,
+ Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy,
+ Pleroma.Search
+ ]
|> Enum.each(fn module ->
mod_config = Keyword.get(config, module, [])
|> Enum.each(fn module ->
mod_config = Keyword.get(config, module, [])