dj_remixes 0.1.0 → 0.2.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.
@@ -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"