diff options
author | feld <feld@feld.me> | 2021-01-21 14:59:51 +0000 |
---|---|---|
committer | feld <feld@feld.me> | 2021-01-21 14:59:51 +0000 |
commit | d8860eaee46c9bc0a079e90dfb008c54923d7330 (patch) | |
tree | faa150ff299ce6207d5a56541262aaa5e31901cd /lib/pleroma/application.ex | |
parent | ba40af054cc90417c5b2b347e325b53c7346e29c (diff) | |
parent | 5ade430e46e76543b317dc07fdbc0a3fe7367621 (diff) | |
download | pleroma-d8860eaee46c9bc0a079e90dfb008c54923d7330.tar.gz |
Merge branch 'limiter-setup-fix' into 'develop'
Configurable limits for ConcurrentLimiter for Pleroma.Web.RichMedia.Helpers & Pleroma.Web.MediaProxyWarmingPolicy
See merge request pleroma/pleroma!3248
Diffstat (limited to 'lib/pleroma/application.ex')
-rw-r--r-- | lib/pleroma/application.ex | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex index 203a95004..9e262235e 100644 --- a/lib/pleroma/application.ex +++ b/lib/pleroma/application.ex @@ -297,7 +297,16 @@ defmodule Pleroma.Application do @spec limiters_setup() :: :ok def limiters_setup do - [Pleroma.Web.RichMedia.Helpers, Pleroma.Web.MediaProxy] - |> Enum.each(&ConcurrentLimiter.new(&1, 1, 0)) + config = Config.get(ConcurrentLimiter, []) + + [Pleroma.Web.RichMedia.Helpers, Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy] + |> Enum.each(fn module -> + mod_config = Keyword.get(config, module, []) + + max_running = Keyword.get(mod_config, :max_running, 5) + max_waiting = Keyword.get(mod_config, :max_waiting, 5) + + ConcurrentLimiter.new(module, max_running, max_waiting) + end) end end |