frenzy_bunnies 0.0.6 → 0.0.7

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/README.md CHANGED
@@ -79,7 +79,13 @@ In the listing above, `f.run` accepts your worker _classes_, and will run your w
79
79
 
80
80
  When FrenzyBunnies run, it will automatically create a web dashboard for you, on `localhost:11333` by default.
81
81
 
82
- `image`
82
+
83
+ Currently, the dashboard displays your job statistics (passed vs. failed), JVM
84
+ health (heap usage) and threads overview.
85
+
86
+
87
+ <img src="https://raw.github.com/jondot/frenzy_bunnies/master/fb-cap.png"/><br/>
88
+
83
89
 
84
90
  Changing the bound address is easy to do through the many options you can pass to the running `Context`:
85
91
 
Binary file
@@ -19,6 +19,7 @@ Gem::Specification.new do |gem|
19
19
  gem.add_runtime_dependency 'thor'
20
20
  gem.add_runtime_dependency 'sinatra'
21
21
  gem.add_runtime_dependency 'atomic'
22
+ gem.add_runtime_dependency 'json'
22
23
 
23
24
  gem.add_development_dependency 'guard-coffeescript'
24
25
  end
@@ -12,7 +12,7 @@ class FrenzyBunnies::Context
12
12
  @opts[:web_host] ||= 'localhost'
13
13
  @opts[:web_port] ||= 11333
14
14
  @opts[:web_threadfilter] ||= /^pool-.*/
15
- @opts[:env] ||= ''
15
+ @opts[:env] ||= 'development'
16
16
 
17
17
  @env = @opts[:env]
18
18
  @logger = @opts[:logger] || Logger.new(STDOUT)
@@ -1,3 +1,3 @@
1
1
  module FrenzyBunnies
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -1,5 +1,5 @@
1
1
  require 'sinatra/base'
2
-
2
+ require 'json'
3
3
 
4
4
  class FrenzyBunnies::Web < Sinatra::Base
5
5
  configure do
@@ -39,7 +39,7 @@ class FrenzyBunnies::Web < Sinatra::Base
39
39
  end
40
40
 
41
41
  def self.run_with(jobs, opts={})
42
- set :jobs, jobs
42
+ set :jobs, (jobs || [])
43
43
  set :health_collector, FrenzyBunnies::Health::Collector.new({:jvm => {:threadfilter => opts[:threadfilter]}})
44
44
  @logger = opts[:logger]
45
45
  @logger.info "* running web dashboard bound to #{opts[:host]} on port #{opts[:port]}."
@@ -1,7 +1,7 @@
1
1
  <html>
2
2
  <head>
3
3
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
4
- <title>Frenzy Bunnies Web</title>
4
+ <title>Frenzy Bunnies Dashboard</title>
5
5
  <link href="/css/bootstrap.min.css" rel="stylesheet">
6
6
  <style type="text/css" media="all">
7
7
  body{
@@ -14,15 +14,18 @@
14
14
  .prop-label, .job-detail .prop-value{
15
15
  color: #a8a8a8;
16
16
  }
17
+ #job-list .job{
18
+ width: 45em;
19
+ clear:both;
20
+ }
17
21
  .job-detail{
18
22
  float: left;
19
- width: 20em;
20
23
  }
21
24
  .job-detail .name, .job-results .prop-value{
22
25
  font-size: 2em;
23
26
  }
24
27
  .job-results{
25
- float:left;
28
+ float:right;
26
29
  text-align: center;
27
30
  }
28
31
  .job-results > div {
@@ -178,7 +181,7 @@
178
181
  <div class="navbar navbar-fixed-top">
179
182
  <div class="navbar-inner">
180
183
  <div class="container">
181
- <a class="brand" href="#">FrenzyBunnies/<em>Web</em></a>
184
+ <a class="brand" href="#">Frenzy<img src="/img/bunny16.png" class="icon"/>Bunnies</a>
182
185
  <div class="nav-collapse collapse">
183
186
  <ul class="nav">
184
187
  <li><a href="#jobs-s">Jobs</a></li>
@@ -205,10 +208,6 @@
205
208
  </section>
206
209
 
207
210
 
208
- <footer>
209
- <p>&copy; Company 2012</p>
210
- </footer>
211
-
212
211
  </div> <!-- /container -->
213
212
 
214
213
 
metadata CHANGED
@@ -1,159 +1,154 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: frenzy_bunnies
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.6
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.0.7
6
6
  platform: ruby
7
- authors:
8
- - Dotan Nahum
7
+ authors:
8
+ - Dotan Nahum
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-11 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: hot_bunnies
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: 1.4.0.pre3
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: 1.4.0.pre3
30
- - !ruby/object:Gem::Dependency
31
- name: thor
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- - !ruby/object:Gem::Dependency
47
- name: sinatra
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
63
- name: atomic
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
- type: :runtime
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: guard-coffeescript
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
86
- type: :development
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
12
+
13
+ date: 2012-09-15 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hot_bunnies
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.4.0.pre3
24
+ type: :runtime
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
+ name: thor
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: "0"
35
+ type: :runtime
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
38
+ name: sinatra
39
+ prerelease: false
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: "0"
46
+ type: :runtime
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
49
+ name: atomic
50
+ prerelease: false
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: "0"
57
+ type: :runtime
58
+ version_requirements: *id004
59
+ - !ruby/object:Gem::Dependency
60
+ name: json
61
+ prerelease: false
62
+ requirement: &id005 !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
68
+ type: :runtime
69
+ version_requirements: *id005
70
+ - !ruby/object:Gem::Dependency
71
+ name: guard-coffeescript
72
+ prerelease: false
73
+ requirement: &id006 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: "0"
79
+ type: :development
80
+ version_requirements: *id006
94
81
  description: RabbitMQ JRuby based workers on top of hot_bunnies
95
- email:
96
- - jondotan@gmail.com
97
- executables:
98
- - frenzy_bunnies
82
+ email:
83
+ - jondotan@gmail.com
84
+ executables:
85
+ - frenzy_bunnies
99
86
  extensions: []
87
+
100
88
  extra_rdoc_files: []
101
- files:
102
- - .gitignore
103
- - Gemfile
104
- - Guardfile
105
- - LICENSE
106
- - README.md
107
- - Rakefile
108
- - bin/frenzy_bunnies
109
- - examples/feed.rb
110
- - examples/feed_worker.rb
111
- - examples/feed_workers_bin.rb
112
- - frenzy_bunnies.gemspec
113
- - lib/frenzy_bunnies.rb
114
- - lib/frenzy_bunnies/cli.rb
115
- - lib/frenzy_bunnies/context.rb
116
- - lib/frenzy_bunnies/health.rb
117
- - lib/frenzy_bunnies/health/collector.rb
118
- - lib/frenzy_bunnies/health/providers/jvm.rb
119
- - lib/frenzy_bunnies/queue_factory.rb
120
- - lib/frenzy_bunnies/version.rb
121
- - lib/frenzy_bunnies/web.rb
122
- - lib/frenzy_bunnies/web/public/css/bootstrap.min.css
123
- - lib/frenzy_bunnies/web/public/index.html
124
- - lib/frenzy_bunnies/web/public/js/app.coffee
125
- - lib/frenzy_bunnies/web/public/js/app.js
126
- - lib/frenzy_bunnies/web/public/js/backbone-min.js
127
- - lib/frenzy_bunnies/web/public/js/bootstrap.js
128
- - lib/frenzy_bunnies/web/public/js/bootstrap.min.js
129
- - lib/frenzy_bunnies/web/public/js/jquery-1.8.0.min.js
130
- - lib/frenzy_bunnies/web/public/js/jquery.filesize.js
131
- - lib/frenzy_bunnies/web/public/js/jquery.timeago.js
132
- - lib/frenzy_bunnies/web/public/js/underscore-min.js
133
- - lib/frenzy_bunnies/worker.rb
134
- homepage: ''
89
+
90
+ files:
91
+ - .gitignore
92
+ - Gemfile
93
+ - Guardfile
94
+ - LICENSE
95
+ - README.md
96
+ - Rakefile
97
+ - bin/frenzy_bunnies
98
+ - examples/feed.rb
99
+ - examples/feed_worker.rb
100
+ - examples/feed_workers_bin.rb
101
+ - fb-cap.png
102
+ - frenzy_bunnies.gemspec
103
+ - lib/frenzy_bunnies.rb
104
+ - lib/frenzy_bunnies/cli.rb
105
+ - lib/frenzy_bunnies/context.rb
106
+ - lib/frenzy_bunnies/health.rb
107
+ - lib/frenzy_bunnies/health/collector.rb
108
+ - lib/frenzy_bunnies/health/providers/jvm.rb
109
+ - lib/frenzy_bunnies/queue_factory.rb
110
+ - lib/frenzy_bunnies/version.rb
111
+ - lib/frenzy_bunnies/web.rb
112
+ - lib/frenzy_bunnies/web/public/css/bootstrap.min.css
113
+ - lib/frenzy_bunnies/web/public/img/bunny16.png
114
+ - lib/frenzy_bunnies/web/public/img/bunny32.png
115
+ - lib/frenzy_bunnies/web/public/index.html
116
+ - lib/frenzy_bunnies/web/public/js/app.coffee
117
+ - lib/frenzy_bunnies/web/public/js/app.js
118
+ - lib/frenzy_bunnies/web/public/js/backbone-min.js
119
+ - lib/frenzy_bunnies/web/public/js/bootstrap.js
120
+ - lib/frenzy_bunnies/web/public/js/bootstrap.min.js
121
+ - lib/frenzy_bunnies/web/public/js/jquery-1.8.0.min.js
122
+ - lib/frenzy_bunnies/web/public/js/jquery.filesize.js
123
+ - lib/frenzy_bunnies/web/public/js/jquery.timeago.js
124
+ - lib/frenzy_bunnies/web/public/js/underscore-min.js
125
+ - lib/frenzy_bunnies/worker.rb
126
+ homepage: ""
135
127
  licenses: []
128
+
136
129
  post_install_message:
137
130
  rdoc_options: []
138
- require_paths:
139
- - lib
140
- required_ruby_version: !ruby/object:Gem::Requirement
131
+
132
+ require_paths:
133
+ - lib
134
+ required_ruby_version: !ruby/object:Gem::Requirement
141
135
  none: false
142
- requirements:
143
- - - ! '>='
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- required_rubygems_version: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: "0"
140
+ required_rubygems_version: !ruby/object:Gem::Requirement
147
141
  none: false
148
- requirements:
149
- - - ! '>='
150
- - !ruby/object:Gem::Version
151
- version: '0'
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: "0"
152
146
  requirements: []
147
+
153
148
  rubyforge_project:
154
- rubygems_version: 1.8.23
149
+ rubygems_version: 1.8.15
155
150
  signing_key:
156
151
  specification_version: 3
157
152
  summary: RabbitMQ JRuby based workers on top of hot_bunnies
158
153
  test_files: []
159
- has_rdoc:
154
+