delayed_job_extras 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/delayed_job_extras/worker.rb +12 -0
  2. metadata +2 -2
@@ -58,6 +58,15 @@ module DJ
58
58
  def unique?
59
59
  false
60
60
  end
61
+
62
+ def before_perform
63
+ end
64
+
65
+ def after_success
66
+ end
67
+
68
+ def after_failure
69
+ end
61
70
 
62
71
  class << self
63
72
 
@@ -98,16 +107,19 @@ module DJ
98
107
  self.dj_object.touch(:started_at)
99
108
  end
100
109
  begin
110
+ self.before_perform
101
111
  self.logger.info("Starting #{self.class.name}#perform (DJ.id = '#{dj_id}')")
102
112
  val = self.instance_eval(&block)
103
113
  self.logger.info("Completed #{self.class.name}#perform (DJ.id = '#{dj_id}') [SUCCESS]")
104
114
  self.dj_object.touch(:finished_at) if self.dj_object
115
+ self.after_success
105
116
  return val
106
117
  rescue Exception => e
107
118
  # send to hoptoad!
108
119
  notify_hoptoad(exception_to_data(e).merge(:dj => self.dj_object.inspect))
109
120
  self.logger.error("Halted #{self.class.name}#perform (DJ.id = '#{dj_id}') [FAILURE]")
110
121
  self.dj_object.update_attributes(:started_at => nil) if self.dj_object
122
+ self.after_failure
111
123
  raise e
112
124
  end
113
125
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delayed_job_extras
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - markbates
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-09-30 00:00:00 -04:00
12
+ date: 2009-10-03 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency