sad 1.5.5 → 1.5.6

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/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.5
1
+ 1.5.6
data/lib/sad/logger.rb CHANGED
@@ -22,13 +22,13 @@ module Sad
22
22
  :level => 1
23
23
  }.update opts.dup
24
24
 
25
- @logger = ::Logger.new(@opts[:path])
26
- @logger.level = @opts[:level]
25
+ reopen
27
26
  end
28
27
 
29
28
  def reopen
30
29
  @logger = ::Logger.new(@opts[:path])
31
30
  @logger.level = @opts[:level]
31
+ @logger.formatter = ::Logger::Formatter.new
32
32
  end
33
33
 
34
34
  def method_missing(method_name, *args, &block)
data/lib/sad/server.rb CHANGED
@@ -10,7 +10,10 @@ module Sad
10
10
 
11
11
  def fetch(queue)
12
12
  ::Sad::Procline.set("Wainting for #{queue}")
13
+ ::Sad.logger.info "Server status:\n#{status.pretty_inspect}"
14
+
13
15
  request = ::Sad::Config.redis.blpop(queue, 30)
16
+
14
17
  request.callback{|_, data|
15
18
  ::Sad::Procline.set("Fetched #{queue} - #{Time.now.strftime('%Y-%m-%d %H:%M:%S')}")
16
19
  if data
@@ -20,6 +23,7 @@ module Sad
20
23
  end
21
24
  fetch_with_interval(queue)
22
25
  }
26
+
23
27
  request.errback{
24
28
  ::Sad.logger.error "error with redis request.\n#{request.inspect}"
25
29
  fetch_with_interval(queue)
@@ -65,6 +69,19 @@ module Sad
65
69
  @_shutdown = true
66
70
  EM.stop
67
71
  end
72
+
73
+ def status
74
+ if EventMachine.instance_eval {defined? :threadqueue} and EventMachine.instance_eval {defined? :resultqueue}
75
+ content = {
76
+ 'threadqueue' => EventMachine.instance_eval {@threadqueue and @threadqueue.size},
77
+ 'resultqueue' => EventMachine.instance_eval {@resultqueue and @resultqueue.size},
78
+ 'num_waiting' => EventMachine.instance_eval {@threadqueue and @threadqueue.num_waiting}
79
+ }
80
+ return content
81
+ else
82
+ {}
83
+ end
84
+ end
68
85
  end
69
86
  end
70
87
  end
data/sad.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "sad"
8
- s.version = "1.5.5"
8
+ s.version = "1.5.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["\u{5d14}\u{5ce5}"]
12
- s.date = "2013-05-04"
12
+ s.date = "2013-05-07"
13
13
  s.description = "a simple em baseed background job worker."
14
14
  s.email = "zheng.cuizh@gmail.com"
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sad
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.5
4
+ version: 1.5.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-04 00:00:00.000000000 Z
12
+ date: 2013-05-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: jeweler
@@ -186,7 +186,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
186
186
  version: '0'
187
187
  segments:
188
188
  - 0
189
- hash: 804577571098732760
189
+ hash: 1669102965155427839
190
190
  required_rubygems_version: !ruby/object:Gem::Requirement
191
191
  none: false
192
192
  requirements: