module ResqueRetry::Server::Helpers
Helper methods used by retry tab.
Public Instance Methods
cancel_retry(job)
click to toggle source
cancels job retry
# File lib/resque-retry/server.rb, line 67 def cancel_retry(job) klass = get_class(job) if klass retry_key = retry_key_for_job(job) Resque.remove_delayed(klass, *job['args']) Resque.redis.del("failure-#{retry_key}") Resque.redis.del(retry_key) else raise 'cannot cancel, job not found' end end
local_template(path)
click to toggle source
reads a 'local' template file.
# File lib/resque-retry/server.rb, line 61 def local_template(path) # Is there a better way to specify alternate template locations with sinatra? File.read(File.join(File.dirname(__FILE__), "server/views/#{path}")) end
retry_attempts_for_job(job)
click to toggle source
gets the number of retry attempts for a job.
# File lib/resque-retry/server.rb, line 51 def retry_attempts_for_job(job) Resque.redis.get(retry_key_for_job(job)) end
retry_failure_details(retry_key)
click to toggle source
gets the failure details hash for a job.
# File lib/resque-retry/server.rb, line 56 def retry_failure_details(retry_key) Resque.decode(Resque.redis.get("failure-#{retry_key}")) end
retry_key_for_job(job)
click to toggle source
builds a retry key for the specified job.
# File lib/resque-retry/server.rb, line 41 def retry_key_for_job(job) klass = get_class(job) if klass.respond_to?(:redis_retry_key) klass.redis_retry_key(job['args']) else nil end end
Private Instance Methods
get_class(job)
click to toggle source
# File lib/resque-retry/server.rb, line 80 def get_class(job) begin Resque::Job.new(nil, nil).constantize(job['class']) rescue nil end end