projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'features/mastoapi/2.7.0-auth-error-messages' into 'develop'
[akkoma]
/
lib
/
pleroma
/
application.ex
diff --git
a/lib/pleroma/application.ex
b/lib/pleroma/application.ex
index 0b0ec01972a2cdb497b46e2bc49277b6b39030cb..cc81e180565eb84ea0399692b5c48b5a4762c196 100644
(file)
--- a/
lib/pleroma/application.ex
+++ b/
lib/pleroma/application.ex
@@
-1,36
+1,54
@@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
defmodule Pleroma.Application do
use Application
import Supervisor.Spec
defmodule Pleroma.Application do
use Application
import Supervisor.Spec
- @name
"Pleroma"
+ @name
Mix.Project.config()[:name]
@version Mix.Project.config()[:version]
@version Mix.Project.config()[:version]
+ @repository Mix.Project.config()[:source_url]
def name, do: @name
def version, do: @version
def name, do: @name
def version, do: @version
- def named_version(), do: @name <> " " <> @version
+ def named_version, do: @name <> " " <> @version
+ def repository, do: @repository
- def user_agent
()
do
+ def user_agent do
info = "#{Pleroma.Web.base_url()} <#{Pleroma.Config.get([:instance, :email], "")}>"
named_version() <> "; " <> info
end
# See http://elixir-lang.org/docs/stable/elixir/Application.html
# for more information on OTP Applications
info = "#{Pleroma.Web.base_url()} <#{Pleroma.Config.get([:instance, :email], "")}>"
named_version() <> "; " <> info
end
# See http://elixir-lang.org/docs/stable/elixir/Application.html
# for more information on OTP Applications
- @env Mix.env()
def start(_type, _args) do
import Cachex.Spec
def start(_type, _args) do
import Cachex.Spec
+ Pleroma.Config.DeprecationWarnings.warn()
+
# Define workers and child supervisors to be supervised
children =
[
# Start the Ecto repository
supervisor(Pleroma.Repo, []),
worker(Pleroma.Emoji, []),
# Define workers and child supervisors to be supervised
children =
[
# Start the Ecto repository
supervisor(Pleroma.Repo, []),
worker(Pleroma.Emoji, []),
+ worker(Pleroma.Captcha, []),
+ worker(
+ Cachex,
+ [
+ :used_captcha_cache,
+ [
+ ttl_interval: :timer.seconds(Pleroma.Config.get!([Pleroma.Captcha, :seconds_valid]))
+ ]
+ ],
+ id: :cachex_used_captcha_cache
+ ),
worker(
Cachex,
[
:user_cache,
[
worker(
Cachex,
[
:user_cache,
[
- default_ttl: 25000,
+ default_ttl: 25
_
000,
ttl_interval: 1000,
limit: 2500
]
ttl_interval: 1000,
limit: 2500
]
@@
-42,13
+60,34
@@
defmodule Pleroma.Application do
[
:object_cache,
[
[
:object_cache,
[
- default_ttl: 25000,
+ default_ttl: 25
_
000,
ttl_interval: 1000,
limit: 2500
]
],
id: :cachex_object
),
ttl_interval: 1000,
limit: 2500
]
],
id: :cachex_object
),
+ worker(
+ Cachex,
+ [
+ :rich_media_cache,
+ [
+ default_ttl: :timer.minutes(120),
+ limit: 5000
+ ]
+ ],
+ id: :cachex_rich_media
+ ),
+ worker(
+ Cachex,
+ [
+ :scrubber_cache,
+ [
+ limit: 2500
+ ]
+ ],
+ id: :cachex_scrubber
+ ),
worker(
Cachex,
[
worker(
Cachex,
[
@@
-64,11
+103,16
@@
defmodule Pleroma.Application do
],
id: :cachex_idem
),
],
id: :cachex_idem
),
- worker(Pleroma.Web.Federator.RetryQueue, []),
- worker(Pleroma.Web.Federator, []),
- worker(Pleroma.Stats, []),
- worker(Pleroma.Web.Push, [])
+ worker(Pleroma.FlakeId, [])
] ++
] ++
+ hackney_pool_children() ++
+ [
+ worker(Pleroma.Web.Federator.RetryQueue, []),
+ worker(Pleroma.Stats, []),
+ worker(Pleroma.Web.Push, []),
+ worker(Pleroma.Jobs, []),
+ worker(Task, [&Pleroma.Web.Federator.init/0], restart: :temporary)
+ ] ++
streamer_child() ++
chat_child() ++
[
streamer_child() ++
chat_child() ++
[
@@
-83,15
+127,29
@@
defmodule Pleroma.Application do
Supervisor.start_link(children, opts)
end
Supervisor.start_link(children, opts)
end
+ def enabled_hackney_pools do
+ [:media] ++
+ if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Hackney do
+ [:federation]
+ else
+ []
+ end ++
+ if Pleroma.Config.get([Pleroma.Uploader, :proxy_remote]) do
+ [:upload]
+ else
+ []
+ end
+ end
+
if Mix.env() == :test do
if Mix.env() == :test do
- defp streamer_child
()
, do: []
- defp chat_child
()
, do: []
+ defp streamer_child, do: []
+ defp chat_child, do: []
else
else
- defp streamer_child
()
do
+ defp streamer_child do
[worker(Pleroma.Web.Streamer, [])]
end
[worker(Pleroma.Web.Streamer, [])]
end
- defp chat_child
()
do
+ defp chat_child do
if Pleroma.Config.get([:chat, :enabled]) do
[worker(Pleroma.Web.ChatChannel.ChatChannelState, [])]
else
if Pleroma.Config.get([:chat, :enabled]) do
[worker(Pleroma.Web.ChatChannel.ChatChannelState, [])]
else
@@
-99,4
+157,11
@@
defmodule Pleroma.Application do
end
end
end
end
end
end
+
+ defp hackney_pool_children do
+ for pool <- enabled_hackney_pools() do
+ options = Pleroma.Config.get([:hackney_pools, pool])
+ :hackney_pool.child_spec(pool, options)
+ end
+ end
end
end