dj_remixes 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,8 +4,10 @@ module Mail
4
4
  class MailmanWorker < DJ::Worker
5
5
  priority :urgent
6
6
  run_at {1.year.ago}
7
-
8
- def perform
7
+
8
+ def perform
9
+ # Force loading of the class first to avoid the dreaded 'undefined class/module' error
10
+ eval(self.klass)
9
11
  message = Marshal.load(self.mail)
10
12
  message.deliver_without_worker
11
13
  end
@@ -15,8 +17,7 @@ module Mail
15
17
  if ActionMailer::Base.delivery_method == :test
16
18
  deliver_without_worker
17
19
  else
18
- puts self
19
- Mail::Message::MailmanWorker.enqueue(:mail => Marshal.dump(self))
20
+ Mail::Message::MailmanWorker.enqueue(:mail => Marshal.dump(self), :klass => self.delivery_handler.name)
20
21
  return self
21
22
  end
22
23
  end
@@ -11,10 +11,10 @@ module DJ
11
11
 
12
12
  def success(job)
13
13
  job.touch(:finished_at)
14
- self.enqueue_again
14
+ self.enqueue_again if self.respond_to?(:enqueue_again)
15
15
  end
16
16
 
17
- def failure(job, error)
17
+ def error(job, error)
18
18
  job.update_attributes(:started_at => nil)
19
19
  end
20
20
 
@@ -10,19 +10,3 @@ module DJ
10
10
  end
11
11
 
12
12
  end
13
-
14
- Delayed::Worker.backend.send(:class_eval) do
15
- def invoke_job_with_callbacks
16
- payload_object.before(self) if payload_object.respond_to?(:before)
17
- begin
18
- invoke_job_without_callbacks
19
- payload_object.success(self) if payload_object.respond_to?(:success)
20
- rescue Exception => e
21
- payload_object.failure(self, e) if payload_object.respond_to?(:failure)
22
- raise e
23
- ensure
24
- payload_object.after(self) if payload_object.respond_to?(:after)
25
- end
26
- end
27
- alias_method_chain :invoke_job, :callbacks
28
- end
@@ -3,12 +3,12 @@ if Object.const_defined?(:HoptoadNotifier)
3
3
  class Worker
4
4
 
5
5
  # Report Errors to Hoptoad:
6
- def failure_with_hoptoad(job, error)
6
+ def error_with_hoptoad(job, error)
7
7
  HoptoadNotifier.notify_or_ignore(error, :cgi_data => self.dj_object.attributes)
8
- failure_without_hoptoad(job, error)
8
+ error_without_hoptoad(job, error)
9
9
  end
10
10
 
11
- alias_method_chain :failure, :hoptoad
11
+ alias_method_chain :error, :hoptoad
12
12
 
13
13
  end # Worker
14
14
  end # DJ
@@ -36,7 +36,7 @@ module DJ
36
36
  def enqueue_again # :nodoc:
37
37
  if self.class.re_enqueuable
38
38
  new_worker = self.clone()
39
- new_worker.enqueue
39
+ new_worker.enqueue!
40
40
  end
41
41
  end
42
42
 
@@ -1,8 +1,8 @@
1
1
  require 'mark_facets'
2
2
  %w{dj_remixes
3
3
  worker
4
- attributes
5
4
  callbacks
5
+ attributes
6
6
  priority
7
7
  run_at
8
8
  unique
@@ -6,7 +6,7 @@ module DJ
6
6
  class << self
7
7
 
8
8
  def enqueue(*args)
9
- self.new(*args).enqueue
9
+ self.new(*args).enqueue!
10
10
  end
11
11
 
12
12
  end
@@ -27,14 +27,14 @@ module DJ
27
27
  end
28
28
  end
29
29
 
30
- def enqueue(priority = self.priority, run_at = self.run_at)
30
+ def enqueue!(priority = self.priority, run_at = self.run_at)
31
31
  job = DJ.enqueue(self, priority, run_at)
32
32
  job.worker_class_name = self.worker_class_name
33
33
  job.save
34
34
  return job
35
35
  end
36
36
 
37
- alias_method :save, :enqueue
37
+ alias_method :save, :enqueue!
38
38
 
39
39
  # Needs to be implemented by subclasses! It's only here
40
40
  # so people can hook into it.
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 1
7
+ - 2
8
8
  - 0
9
- version: 0.1.0
9
+ version: 0.2.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - markbates
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-08-30 00:00:00 -04:00
17
+ date: 2010-10-15 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -73,7 +73,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
- hash: -2149284955517614999
76
+ hash: 3113747627345364661
77
77
  segments:
78
78
  - 0
79
79
  version: "0"