Skip to content

Instantly share code, notes, and snippets.

@rcarver
Created March 18, 2010 05:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rcarver/336091 to your computer and use it in GitHub Desktop.
Save rcarver/336091 to your computer and use it in GitHub Desktop.
what if resque had hooks for job performing?
def perform
if payload_class.respond_to?(:before_perform)
result = args ? payload_class.before_perform(*args) : payload_class.before_perform
return if result == false
end
begin
args ? payload_class.perform(*args) : payload_class.perform
if payload_class.respond_to?(:after_perform)
args ? payload_class.after_perform(*args) : payload_class.after_perform
end
rescue StandardError => e
if payload_class.respond_to?(:on_failure)
args ? payload_class.on_failure(e, *args) : payload_class.on_failure(e)
end
raise
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment