Module: SidekiqUniqueJobs::Scripts
- Extended by:
- SingleForwardable
- Defined in:
- lib/sidekiq_unique_jobs/scripts.rb
Class Method Summary collapse
- .call(file_name, redis_pool, options = {}) ⇒ Object
- .logger ⇒ Object
- .script_path(file_name) ⇒ Object
- .script_shas ⇒ Object
- .script_source(file_name) ⇒ Object
Class Method Details
.call(file_name, redis_pool, options = {}) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/sidekiq_unique_jobs/scripts.rb', line 25 def call(file_name, redis_pool, = {}) connection(redis_pool) do |redis| script_shas[file_name] ||= redis.script(:load, script_source(file_name)) redis.evalsha(script_shas[file_name], ) end rescue Redis::CommandError => ex raise ScriptError, "#{file_name}.lua\n\n" + ex. + "\n\n" + script_source(file_name) + ex.backtrace.join("\n") end |
.logger ⇒ Object
21 22 23 |
# File 'lib/sidekiq_unique_jobs/scripts.rb', line 21 def logger Sidekiq.logger end |
.script_path(file_name) ⇒ Object
42 43 44 |
# File 'lib/sidekiq_unique_jobs/scripts.rb', line 42 def script_path(file_name) LUA_PATHNAME.join("#{file_name}.lua") end |
.script_shas ⇒ Object
17 18 19 |
# File 'lib/sidekiq_unique_jobs/scripts.rb', line 17 def script_shas @script_shas ||= {} end |
.script_source(file_name) ⇒ Object
38 39 40 |
# File 'lib/sidekiq_unique_jobs/scripts.rb', line 38 def script_source(file_name) script_path(file_name).read end |