Class: Rjob::Scripts::ScriptRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/rjob/scripts.rb

Instance Method Summary collapse

Constructor Details

#initializeScriptRunner

Returns a new instance of ScriptRunner.



15
16
17
# File 'lib/rjob/scripts.rb', line 15

def initialize
  @scripts = {}
end

Instance Method Details

#exec(redis, name, *args) ⇒ Object



28
29
30
31
# 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) ⇒ Object



19
20
21
22
23
24
25
26
# 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