delayed_job_extras 0.9.17 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,9 @@ if defined?(ActionMailer)
7
7
  def inherited(klass)
8
8
  super
9
9
  eval %{
10
- class ::#{klass}Worker < DJ::Worker
10
+ class ::#{klass}Worker
11
+ include Delayed::Job::Extras
12
+
11
13
  priority :immediate
12
14
 
13
15
  attr_accessor :called_method
@@ -0,0 +1,27 @@
1
+ begin
2
+ # If the is_paranoid gem is available
3
+ # let's use it so we can have a record of the
4
+ # tasks that have been performed.
5
+ if defined?(Caboose::Acts::Paranoid)
6
+
7
+ DJ::Worker.logger.info "Adding acts_as_paranoid support to Delayed::Job"
8
+
9
+ begin
10
+ module Delayed
11
+ class Job
12
+ include HoptoadNotifier::Catcher
13
+
14
+ acts_as_paranoid
15
+
16
+ end # Job
17
+ end # Delayed
18
+ rescue Exception => e
19
+ DJ::Worker.logger.error(e)
20
+ raise e
21
+ end
22
+
23
+
24
+ end
25
+
26
+ rescue Exception => e
27
+ end
@@ -19,6 +19,7 @@ module Delayed
19
19
  attr_accessor :__original_args
20
20
  attr_accessor :__re_enqueue_block
21
21
  attr_accessor :re_enqueuable
22
+ attr_accessor :id
22
23
 
23
24
  def priority
24
25
  case @priority
@@ -40,7 +41,11 @@ module Delayed
40
41
  end
41
42
 
42
43
  def worker_class_name
43
- @worker_class_name ||= self.class.to_s.underscore
44
+ if self.id
45
+ @worker_class_name ||= File.join(self.class.to_s.underscore, self.id.to_s)
46
+ else
47
+ @worker_class_name ||= self.class.to_s.underscore
48
+ end
44
49
  end
45
50
 
46
51
  def enqueue(priority = self.priority, run_at = self.run_at)
@@ -82,6 +87,12 @@ module Delayed
82
87
  end
83
88
  end
84
89
 
90
+ def is_unique
91
+ define_method('unique?') do
92
+ return true
93
+ end
94
+ end
95
+
85
96
  def enqueue(*args)
86
97
  self.new(*args).enqueue
87
98
  end
@@ -2,31 +2,37 @@ begin
2
2
 
3
3
  DJ::Worker.logger.info "Adding Hoptoad support to Delayed::Job"
4
4
 
5
- module Delayed
6
- class Job
7
-
8
- def invoke_job_with_hoptoad
9
- if defined?(HoptoadNotifier)
10
- Delayed::Job.send(:define_method, :invoke_job_with_hoptoad) do
11
- begin
5
+ begin
6
+ module Delayed
7
+ class Job
8
+
9
+ def invoke_job_with_hoptoad
10
+ if defined?(HoptoadNotifier)
11
+ Delayed::Job.send(:define_method, :invoke_job_with_hoptoad) do
12
+ begin
13
+ invoke_job_without_hoptoad
14
+ rescue Exception => e
15
+ HoptoadNotifier.notify(e, :cgi_data => self.attributes)
16
+ raise e
17
+ end
18
+ end
19
+ else
20
+ Delayed::Job.send(:define_method, :invoke_job_with_hoptoad) do
12
21
  invoke_job_without_hoptoad
13
- rescue Exception => e
14
- HoptoadNotifier.notify(e, :cgi_data => self.attributes)
15
- raise e
16
22
  end
17
23
  end
18
- else
19
- Delayed::Job.send(:define_method, :invoke_job_with_hoptoad) do
20
- invoke_job_without_hoptoad
21
- end
24
+ invoke_job_with_hoptoad
22
25
  end
23
- invoke_job_with_hoptoad
24
- end
25
-
26
- alias_method_chain :invoke_job, :hoptoad
27
-
28
- end # Job
29
- end # Delayed
26
+
27
+ alias_method_chain :invoke_job, :hoptoad
28
+
29
+ end # Job
30
+ end # Delayed
31
+ rescue Exception => e
32
+ DJ::Worker.logger.error(e)
33
+ raise e
34
+ end
35
+
30
36
 
31
37
  rescue Exception => e
32
38
  end
@@ -2,5 +2,26 @@ module DJ
2
2
  class Worker
3
3
  include Delayed::Job::Extras
4
4
 
5
+ attr_accessor :attributes
6
+
7
+ def initialize(attributes = {})
8
+ self.attributes = attributes
9
+ self.attributes = self.attributes.stringify_keys
10
+ self.id = self.attributes['id']
11
+ end
12
+
13
+ def method_missing(sym, *args, &block)
14
+ attribute = sym.to_s
15
+ case attribute
16
+ when /(.+)\=$/
17
+ self.attributes[$1] = args.first
18
+ when /(.+)\?$/
19
+ # self.attributes.has_key?($1.to_sym)
20
+ return self.attributes[$1]
21
+ else
22
+ return self.attributes[attribute]
23
+ end
24
+ end
25
+
5
26
  end # Worker
6
27
  end # DJ
@@ -12,4 +12,4 @@ require File.join(path, 'worker')
12
12
  require File.join(path, 'action_mailer')
13
13
 
14
14
  require File.join(path, 'hoptoad')
15
- require File.join(path, 'is_paranoid')
15
+ require File.join(path, 'acts_as_paranoid')
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.9.17
4
+ version: 0.11.0
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: 2010-02-08 00:00:00 -05:00
12
+ date: 2010-02-15 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -33,9 +33,9 @@ extra_rdoc_files:
33
33
  - LICENSE
34
34
  files:
35
35
  - lib/delayed_job_extras/action_mailer.rb
36
+ - lib/delayed_job_extras/acts_as_paranoid.rb
36
37
  - lib/delayed_job_extras/extras.rb
37
38
  - lib/delayed_job_extras/hoptoad.rb
38
- - lib/delayed_job_extras/is_paranoid.rb
39
39
  - lib/delayed_job_extras/job.rb
40
40
  - lib/delayed_job_extras/performable_method.rb
41
41
  - lib/delayed_job_extras/worker.rb
@@ -1,19 +0,0 @@
1
- begin
2
- # If the is_paranoid gem is available
3
- # let's use it so we can have a record of the
4
- # tasks that have been performed.
5
- require 'is_paranoid'
6
-
7
- DJ::Worker.logger.info "Adding is_paranoid support to Delayed::Job"
8
-
9
- module Delayed
10
- class Job
11
- include HoptoadNotifier::Catcher
12
-
13
- is_paranoid
14
-
15
- end # Job
16
- end # Delayed
17
-
18
- rescue Exception => e
19
- end