class Rjob::Scripts::ScriptRunner

Public Class Methods

new() click to toggle source
# File lib/rjob/scripts.rb, line 15
def initialize
  @scripts = {}
end

Public Instance Methods

exec(redis, name, *args) click to toggle source
# File lib/rjob/scripts.rb, line 28
def exec(redis, name, *args)
  script = @scripts[name]
  redis.evalsha(script.sha1, *args)
end
load_all_scripts(redis) click to toggle source
# File lib/rjob/scripts.rb, line 19
def load_all_scripts(redis)
  SCRIPTS.each do |file_name, class_name|
    klass = Rjob::Scripts.const_get(class_name)
    script = klass.new
    @scripts[file_name] = script
    load_script(redis, script)
  end
end

Private Instance Methods

load_script(redis, script) click to toggle source
# File lib/rjob/scripts.rb, line 35
def load_script(redis, script)
  script.sha1 = redis.script(:load, script.lua_script)
end