resque-telework 0.2.0 → 0.2.1

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.
@@ -3,7 +3,7 @@ module Resque
3
3
  module Telework
4
4
  Name = NAME = 'resque-telework'
5
5
  Nickname = NICKNAME = 'telework'
6
- Version = VERSION = '0.2.0'
6
+ Version = VERSION = '0.2.1'
7
7
  RedisInterfaceVersion = REDIS_INTERFACE_VERSION = '2'
8
8
  end
9
9
  end
@@ -115,10 +115,6 @@ $(document).ready(function() {
115
115
  <span class="count_filter">
116
116
  Count: <%= generic_filter("count_filter", "c", ['1', '2', '3', '4', '5', '6', '7', '8'] ) %>
117
117
  </span>
118
- <span class="rev_filter">
119
- Revision: <select id="rev_filter" name="r">
120
- </select>
121
- </span>
122
118
  <span class="env_filter">
123
119
  Environment: <%= generic_filter("env_filter", "e", ['(default)', 'production', 'staging', 'development', 'test'] ) %>
124
120
  </select>
@@ -233,6 +229,12 @@ $(document).ready(function() {
233
229
  </tr>
234
230
  <% end %>
235
231
  </table>
232
+ </br>
233
+ <form id="stopping_all" name="stopping_all" method="post" action="/resque/telework/stop_all">
234
+ <%= generic_filter("mode_filter", "m", ["Stop", "Kill"]) %>
235
+ all workers on host <%= generic_filter("host_filter", "h", redis.hosts << "[All hosts]") %>
236
+ <span class="stopping_all_submit"><input type="submit" value="Go"/></span>
237
+ </form></br></br>
236
238
 
237
239
  <br>
238
240
  <% if @status_messages %>
@@ -141,12 +141,11 @@ module Resque
141
141
  @queue= params[:q]
142
142
  @qmanual= params[:qmanual]
143
143
  @count= params[:c]
144
- @rev= params[:r].split(' ')
144
+ #@rev= params[:r].split(' ')
145
145
  @env= params[:e]
146
146
  @q= @qmanual.blank? ? @queue : @qmanual
147
147
  id= redis.unique_id.to_s
148
- redis.tasks_add( @host , id, { 'revision' => @rev[0], 'revision_small' => @rev[1],
149
- 'task_id' => id, 'worker_count' => @count,
148
+ redis.tasks_add( @host , id, { 'task_id' => id, 'worker_count' => @count,
150
149
  'rails_env' => @env, 'queue' => @q,
151
150
  'exec' => "bundle exec rake resque:work --trace",
152
151
  'worker_id' => [], 'worker_status' => 'Stopped',
@@ -207,6 +206,21 @@ module Resque
207
206
  end
208
207
  redirect "/resque/#{appn.downcase}"
209
208
  end
209
+
210
+ app.post "/#{appn.downcase}/stop_all" do
211
+ @kill= params[:mode]=="Kill"
212
+ hl= [ params[:h] ]
213
+ hl= redis.hosts if params[:h]=="[All hosts]"
214
+ hl.each do |h|
215
+ redis.workers(h).each do |id, info|
216
+ unless info['worker_status']=='Stopped'
217
+ redis.cmds_push( h, { 'command' => 'signal_worker', 'worker_id'=> id, 'action' => @kill ? 'KILL' : 'QUIT' } )
218
+ end
219
+ end
220
+ end
221
+ redirect "/resque/#{appn.downcase}"
222
+ end
223
+
210
224
 
211
225
  app.tabs << appn
212
226
 
metadata CHANGED
@@ -1,52 +1,60 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: resque-telework
3
- version: !ruby/object:Gem::Version
4
- version: 0.2.0
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 1
9
+ version: 0.2.1
6
10
  platform: ruby
7
- authors:
11
+ authors:
8
12
  - Gilles Pirio
9
13
  autorequire:
10
14
  bindir: bin
11
15
  cert_chain: []
12
- date: 2012-07-30 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
16
+
17
+ date: 2013-02-04 00:00:00 -08:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: resque
16
- requirement: &70173135892440 !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 20
30
+ - 0
21
31
  version: 1.20.0
22
32
  type: :runtime
23
- prerelease: false
24
- version_requirements: *70173135892440
25
- - !ruby/object:Gem::Dependency
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
26
35
  name: sys-cpu
27
- requirement: &70173135891940 !ruby/object:Gem::Requirement
28
- none: false
29
- requirements:
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirements:
30
39
  - - ~>
31
- - !ruby/object:Gem::Version
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 0
43
+ - 7
44
+ - 0
32
45
  version: 0.7.0
33
46
  type: :runtime
34
- prerelease: false
35
- version_requirements: *70173135891940
36
- description: ! " Telework is a Resque plugin aimed at controlling Resque workers
37
- from the web UI. It makes it easy to manage workers on a \n complex systems that
38
- may include several hosts, different queue(s) and an evolving source code that is
39
- deployed several times a day. \n Beyond starting and stopping workers on remote
40
- hosts, the plugin makes it easy to switch between code revisions, gives a partial
41
- view of \n each worker's log (stdout and stderr) and maintains a status of each
42
- workers.\n"
47
+ version_requirements: *id002
48
+ description: " Telework is a Resque plugin aimed at controlling Resque workers from the web UI. It makes it easy to manage workers on a \n complex systems that may include several hosts, different queue(s) and an evolving source code that is deployed several times a day. \n Beyond starting and stopping workers on remote hosts, the plugin makes it easy to switch between code revisions, gives a partial view of \n each worker's log (stdout and stderr) and maintains a status of each workers.\n"
43
49
  email: gip.github@gmail.com
44
50
  executables: []
51
+
45
52
  extensions: []
46
- extra_rdoc_files:
53
+
54
+ extra_rdoc_files:
47
55
  - README.md
48
56
  - MIT-LICENSE
49
- files:
57
+ files:
50
58
  - Gemfile
51
59
  - MIT-LICENSE
52
60
  - README.md
@@ -64,30 +72,35 @@ files:
64
72
  - lib/resque-telework/server/views/worker.erb
65
73
  - lib/tasks/telework.rake
66
74
  - resque-telework.gemspec
75
+ has_rdoc: true
67
76
  homepage: https://github.com/gip/resque-telework
68
77
  licenses: []
78
+
69
79
  post_install_message:
70
80
  rdoc_options: []
71
- require_paths:
81
+
82
+ require_paths:
72
83
  - lib
73
- required_ruby_version: !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
76
- - - ! '>='
77
- - !ruby/object:Gem::Version
78
- version: '0'
79
- required_rubygems_version: !ruby/object:Gem::Requirement
80
- none: false
81
- requirements:
82
- - - ! '>='
83
- - !ruby/object:Gem::Version
84
- version: '0'
84
+ required_ruby_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ segments:
89
+ - 0
90
+ version: "0"
91
+ required_rubygems_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ segments:
96
+ - 0
97
+ version: "0"
85
98
  requirements: []
99
+
86
100
  rubyforge_project:
87
- rubygems_version: 1.8.16
101
+ rubygems_version: 1.3.6
88
102
  signing_key:
89
103
  specification_version: 3
90
- summary: ! 'resque-telework: A Resque plugin aimed at controlling Resque workers from
91
- the web UI'
104
+ summary: "resque-telework: A Resque plugin aimed at controlling Resque workers from the web UI"
92
105
  test_files: []
93
- has_rdoc:
106
+