diff options
Diffstat (limited to 'lib/gitlab/sidekiq_middleware/size_limiter/client.rb')
-rw-r--r-- | lib/gitlab/sidekiq_middleware/size_limiter/client.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/gitlab/sidekiq_middleware/size_limiter/client.rb b/lib/gitlab/sidekiq_middleware/size_limiter/client.rb new file mode 100644 index 00000000000..bc8b1989e78 --- /dev/null +++ b/lib/gitlab/sidekiq_middleware/size_limiter/client.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Gitlab + module SidekiqMiddleware + module SizeLimiter + # This midleware is inserted into Sidekiq **client** middleware chain. It + # prevents the caller from dispatching a too-large job payload. The job + # payload should be small and simple. Read more at: + # https://github.com/mperham/sidekiq/wiki/Best-Practices#1-make-your-job-parameters-small-and-simple + class Client + def call(worker_class, job, queue, _redis_pool) + ::Gitlab::SidekiqMiddleware::SizeLimiter::Validator.validate!(worker_class, job) + + yield + end + end + end + end +end |