diff options
author | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2021-01-09 18:52:40 +0300 |
---|---|---|
committer | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2021-01-21 09:47:21 +0300 |
commit | b4ff63d020293bd633bc9c01af1078cacf7f90ed (patch) | |
tree | e0d3133ce691b840a5993ff7cfe896aa68f083b4 /lib/pleroma/application.ex | |
parent | b5899fda1a38c2ce2d26ebd5082d864c84105622 (diff) | |
download | pleroma-b4ff63d020293bd633bc9c01af1078cacf7f90ed.tar.gz |
configurable limits for ConcurrentLimiter
Pleroma.Web.RichMedia.Helpers & Pleroma.Web.MediaProxy
Diffstat (limited to 'lib/pleroma/application.ex')
-rw-r--r-- | lib/pleroma/application.ex | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex index 203a95004..4742a3ecb 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 + config = Config.get(ConcurrentLimiter, []) + [Pleroma.Web.RichMedia.Helpers, Pleroma.Web.MediaProxy] - |> Enum.each(&ConcurrentLimiter.new(&1, 1, 0)) + |> 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 |