lib/sidekiq/throttled.rb in sidekiq-throttled-1.3.0 vs lib/sidekiq/throttled.rb in sidekiq-throttled-1.4.0
- old
+ new
@@ -3,10 +3,11 @@
require "sidekiq"
require_relative "./throttled/config"
require_relative "./throttled/cooldown"
require_relative "./throttled/job"
+require_relative "./throttled/message"
require_relative "./throttled/middlewares/server"
require_relative "./throttled/patches/basic_fetch"
require_relative "./throttled/patches/super_fetch"
require_relative "./throttled/registry"
require_relative "./throttled/version"
@@ -73,17 +74,14 @@
# Tells whenever job is throttled or not.
#
# @param [String] message Job's JSON payload
# @return [Boolean]
def throttled?(message)
- message = Sidekiq.load_json(message)
- job = message.fetch("wrapped") { message["class"] }
- jid = message["jid"]
+ message = Message.new(message)
+ return false unless message.job_class && message.job_id
- return false unless job && jid
-
- Registry.get(job) do |strategy|
- return strategy.throttled?(jid, *message["args"])
+ Registry.get(message.job_class) do |strategy|
+ return strategy.throttled?(message.job_id, *message.job_args)
end
false
rescue StandardError
false