markbates-delayed_job_extras 0.1.8.20090915153033 → 0.1.9.20090921172429

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,6 +14,8 @@ begin
14
14
  rescue Exception => e
15
15
  end
16
16
 
17
+ require 'split_logger'
18
+
17
19
  Dir.glob(File.join(File.dirname(__FILE__), 'delayed_job_extras', '**/*.rb')).each do |f|
18
20
  require File.expand_path(f)
19
21
  end
@@ -2,6 +2,7 @@ module Delayed
2
2
  class PerformableMethod
3
3
 
4
4
  attr_accessor :worker_class_name
5
+ attr_accessor :dj_object
5
6
 
6
7
  def initialize_with_worker_class_name(object, method, args)
7
8
  self.worker_class_name = "#{object.class}__#{method}".underscore
@@ -14,10 +15,15 @@ module Delayed
14
15
  include HoptoadNotifier::Catcher
15
16
 
16
17
  def perform_with_hoptoad
18
+ dj_id = 'unknown'
19
+ dj_id = self.dj_object.id if self.dj_object
17
20
  begin
21
+ Delayed::Worker.logger.info("Starting #{self.class.name}#perform (DJ.id = '#{dj_id}')")
18
22
  perform_without_hoptoad
23
+ Delayed::Worker.logger.info("Completed #{self.class.name}#perform (DJ.id = '#{dj_id}') [SUCCESS]")
19
24
  rescue Exception => e
20
25
  notify_hoptoad(e)
26
+ Delayed::Worker.logger.info("Halted #{self.class.name}#perform (DJ.id = '#{dj_id}') [FAILURE]")
21
27
  raise e
22
28
  end
23
29
  end
@@ -4,6 +4,7 @@ module Delayed
4
4
  PRIORITY_LEVELS = {:immediate => 10000, :high => 1000, :medium => 500, :normal => 0, :low => -100, :who_cares => -1000}
5
5
 
6
6
  attr_accessor :dj_object
7
+ attr_accessor :logger
7
8
 
8
9
  def priority=(x)
9
10
  @priority = x
@@ -34,7 +35,7 @@ module Delayed
34
35
  end
35
36
 
36
37
  def logger
37
- RAILS_DEFAULT_LOGGER
38
+ @logger || Delayed::Worker.logger
38
39
  end
39
40
 
40
41
  def enqueue(priority = self.priority, run_at = self.run_at)
@@ -43,6 +44,16 @@ module Delayed
43
44
 
44
45
  class << self
45
46
 
47
+ @@logger = SplitLogger.new
48
+
49
+ def logger
50
+ @@logger
51
+ end
52
+
53
+ def logger=(logger)
54
+ @@logger = logger
55
+ end
56
+
46
57
  def priority(level = 0)
47
58
  define_method('priority') do
48
59
  if level.is_a?(Symbol)
@@ -64,11 +75,17 @@ module Delayed
64
75
 
65
76
  def perform(&block)
66
77
  define_method(:perform) do
78
+ dj_id = 'unknown'
79
+ dj_id = self.dj_object.id if self.dj_object
67
80
  begin
68
- self.instance_eval(&block)
81
+ self.logger.info("Starting #{self.class.name}#perform (DJ.id = '#{dj_id}')")
82
+ val = self.instance_eval(&block)
83
+ self.logger.info("Completed #{self.class.name}#perform (DJ.id = '#{dj_id}') [SUCCESS]")
84
+ return val
69
85
  rescue Exception => e
70
86
  # send to hoptoad!
71
87
  notify_hoptoad(e)
88
+ self.logger.info("Halted #{self.class.name}#perform (DJ.id = '#{dj_id}') [FAILURE]")
72
89
  raise e
73
90
  end
74
91
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: markbates-delayed_job_extras
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8.20090915153033
4
+ version: 0.1.9.20090921172429
5
5
  platform: ruby
6
6
  authors:
7
7
  - markbates
@@ -9,10 +9,19 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-09-15 00:00:00 -07:00
12
+ date: 2009-09-21 00:00:00 -07:00
13
13
  default_executable:
14
- dependencies: []
15
-
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: markbates-split_logger
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
16
25
  description: Adds support for Hoptoad and is_paranoid to Delayed::Job. Additionally it also adds 'stats' for your workers, and it even includes a base worker that encapsulates a some common functionality.
17
26
  email: ""
18
27
  executables: []