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.
- data/lib/dj_remixes/action_mailer/action_mailer.rb +5 -4
- data/lib/dj_remixes/callbacks.rb +2 -2
- data/lib/dj_remixes/dj_remixes.rb +0 -16
- data/lib/dj_remixes/hoptoad.rb +3 -3
- data/lib/dj_remixes/re_enqueue.rb +1 -1
- data/lib/dj_remixes/requires.rb +1 -1
- data/lib/dj_remixes/worker.rb +3 -3
- metadata +4 -4
@@ -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
|
-
|
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
|
data/lib/dj_remixes/callbacks.rb
CHANGED
@@ -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
|
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
|
data/lib/dj_remixes/hoptoad.rb
CHANGED
@@ -3,12 +3,12 @@ if Object.const_defined?(:HoptoadNotifier)
|
|
3
3
|
class Worker
|
4
4
|
|
5
5
|
# Report Errors to Hoptoad:
|
6
|
-
def
|
6
|
+
def error_with_hoptoad(job, error)
|
7
7
|
HoptoadNotifier.notify_or_ignore(error, :cgi_data => self.dj_object.attributes)
|
8
|
-
|
8
|
+
error_without_hoptoad(job, error)
|
9
9
|
end
|
10
10
|
|
11
|
-
alias_method_chain :
|
11
|
+
alias_method_chain :error, :hoptoad
|
12
12
|
|
13
13
|
end # Worker
|
14
14
|
end # DJ
|
data/lib/dj_remixes/requires.rb
CHANGED
data/lib/dj_remixes/worker.rb
CHANGED
@@ -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
|
-
-
|
7
|
+
- 2
|
8
8
|
- 0
|
9
|
-
version: 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-
|
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:
|
76
|
+
hash: 3113747627345364661
|
77
77
|
segments:
|
78
78
|
- 0
|
79
79
|
version: "0"
|