sad 1.5.5 → 1.5.6

Sign up to get free protection for your applications and to get access to all the features.
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: