react 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,20 +1,25 @@
1
1
  # React
2
2
 
3
- React is a simple application that allows for remote execution of commands.
4
- It uses Redis as a queue - it is blocking specified list and waits for new
5
- entries - when an entry appears, then it is executing recognized command.
3
+ React is a simple application that allows for remote execution of commands,
4
+ and it uses Redis as a queue.
6
5
 
7
6
  ## Inspiration
8
7
 
9
- It's inspired by Simon Willson's example of "Queue-activated shell scripts"
10
- in his redis-tutorial:
8
+ It's inspired by Simon Willison's example of "Queue-activated shell scripts"
9
+ in his [redis tutorial](http://simonwillison.net/static/2010/redis-tutorial/):
11
10
 
12
11
  while [ 1 ] do
13
12
  redis-cli blpop restart-httpd 0
14
13
  apache2ctl graceful
15
14
  done
16
15
 
17
- ## Examples
16
+ ## Installation
17
+
18
+ You can simply install React using rubygems:
19
+
20
+ sudo gem install react
21
+
22
+ ## Usage
18
23
 
19
24
  Firs you have to prepare file with available commands. It can look like this:
20
25
 
@@ -26,39 +31,37 @@ Firs you have to prepare file with available commands. It can look like this:
26
31
  reboot: |
27
32
  reboot
28
33
 
29
- And now you can start consumer.
34
+ And now you can start a consumer.
30
35
 
31
36
  react my_commands.yml
32
37
 
33
- ## Commands
38
+ ## Pushing commands
34
39
 
35
- While your consumer is working, you can push any of specified command to it's
40
+ While your consumer is working, you can push any of specified command to
36
41
  queue (default queue name is `queue`), eg:
37
42
 
38
43
  redis-cli lpush queue restart_httpd
39
44
  redis-cli lpush queue reboot
40
45
 
46
+ After that consumer will pick up enqueued command names from and execute
47
+ related commands.
48
+
41
49
  ## Configuration
42
50
 
43
51
  There are few more runtime options, which can be useful for you.
44
52
 
45
- * you can specify queue wihch will be consumed:
53
+ * you can specify queue which will be consumed:
46
54
 
47
- react my_commands.yml --queue "my:queue:name"
55
+ react my_commands.yml --queue "my:queue:name"
48
56
 
49
57
  * you can specify the database to which consumer should connect:
50
58
 
51
- react my_commands.yml --host "yourhost.com" --port 6379 --db 2
59
+ react my_commands.yml --host "yourhost.com" --port 6379 --db 2 --password pass
52
60
 
53
61
  * and finally, you can demonize the consumer:
54
62
 
55
- react my_commands.yml --daemonize
56
-
57
- ## Links
58
-
59
- * [My website](http://nu7hatch.com/)
60
- * [Simon Wilson's Redis tutorial](http://simonwillison.net/static/2010/redis-tutorial/)
61
-
63
+ react my_commands.yml --daemon
64
+
62
65
  ## Note on Patches/Pull Requests
63
66
 
64
67
  * Fork the project.
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ begin
5
5
  require 'jeweler'
6
6
  Jeweler::Tasks.new do |gem|
7
7
  gem.name = "react"
8
- gem.version = "0.0.1"
8
+ gem.version = "0.0.2"
9
9
  gem.default_executable = 'react'
10
10
  gem.executables = ['react']
11
11
  gem.summary = %Q{Redis based remote command executor.}
data/bin/react CHANGED
@@ -28,6 +28,7 @@ opts = OptionParser.new do |opts|
28
28
  opts.on('-h', '--host [HOST]', 'Select redis host') {|val| val and options[:redis][:host] = val }
29
29
  opts.on('-p', '--port [PORT]', Integer, 'Select redis port') {|val| val and options[:redis][:port] = val }
30
30
  opts.on('-D', '--db [DATABASE]', 'Select redis database number') {|val| val and options[:redis][:db] = val }
31
+ opts.on('-P', '--password [PASSWORD]', 'Select redis database password') {|val| val and options[:redis][:password] = val }
31
32
  opts.on('-d', '--daemon', 'Run in background') { options[:daemon] = true }
32
33
  end.parse(ARGV)
33
34
 
@@ -0,0 +1,8 @@
1
+ restart_httpd: |
2
+ apache2ctl graceful
3
+
4
+ restart_mysql: |
5
+ /etc/init.d/mysql restart
6
+
7
+ reboot: |
8
+ reboot
data/lib/react.rb CHANGED
@@ -1,21 +1,20 @@
1
1
  require 'redis'
2
2
  require 'thread'
3
3
 
4
- # React is a simple application that allows for remote execution of commands.
5
- # It uses Redis as a queue - it is blocking specified list and waits for new
6
- # entries - when an entry appears, then it is executing recognized command.
4
+ # React is a simple application that allows for remote execution of commands,
5
+ # and it uses Redis as a queue.
7
6
  #
8
7
  # == Inspiration
9
8
  #
10
- # It's inspired by Simon Willson's example of "Queue-activated shell scripts"
11
- # in his redis-tutorial:
9
+ # It's inspired by Simon Willison's example of "Queue-activated shell scripts"
10
+ # in his redis tutorial:
12
11
  #
13
12
  # while [ 1 ] do
14
13
  # redis-cli blpop restart-httpd 0
15
14
  # apache2ctl graceful
16
15
  # done
17
16
  #
18
- # == Examples
17
+ # == Usage
19
18
  #
20
19
  # Firs you have to prepare file with available commands. It can look like this:
21
20
  #
@@ -31,26 +30,32 @@ require 'thread'
31
30
  #
32
31
  # react my_commands.yml
33
32
  #
34
- # == Commands
33
+ # == Pushing commands
35
34
  #
36
- # While your consumer is working, you can push any command to it's queue
37
- # (default queue name is `queue`), eg:
35
+ # While your consumer is working, you can push any of specified command to
36
+ # queue (default queue name is `queue`), eg:
38
37
  #
39
38
  # redis-cli lpush queue restart_httpd
40
39
  # redis-cli lpush queue reboot
41
40
  #
41
+ # After that consumer will pick up enqueued command names from and execute
42
+ # related commands.
43
+ #
42
44
  # == Configuration
43
- #
45
+ #
44
46
  # There are few more runtime options, which can be useful for you.
45
- #
46
- # # it will be consuming commands from specified queue
47
- # react my_commands.yml --queue "my:queue:name"
48
47
  #
49
- # # you can specify the database to which React should connect
50
- # react my_commands.yml --host "yourhost.com" --port 6379 --db 2
48
+ # * you can specify queue which will be consumed:
49
+ #
50
+ # react my_commands.yml --queue "my:queue:name"
51
+ #
52
+ # * you can specify the database to which consumer should connect:
53
+ #
54
+ # react my_commands.yml --host "yourhost.com" --port 6379 --db 2 --password pass
55
+ #
56
+ # * and finally, you can demonize the consumer:
51
57
  #
52
- # # and finally, you can demonize your application
53
- # react my_commands.yml --daemonize
58
+ # react my_commands.yml --daemon
54
59
  module React
55
60
 
56
61
  # It starts the consumer loop.
data/react.gemspec CHANGED
@@ -5,13 +5,13 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{react}
8
- s.version = "0.0.1"
8
+ s.version = "0.0.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kriss 'nu7hatch' Kowalik"]
12
- s.date = %q{2010-08-16}
12
+ s.date = %q{2010-08-17}
13
13
  s.default_executable = %q{react}
14
- s.description = %q{A simple application that allows remote execution of commands.}
14
+ s.description = %q{A simple application that allows for remote execution of commands.}
15
15
  s.email = %q{kriss.kowalik@gmail.com}
16
16
  s.executables = ["react"]
17
17
  s.extra_rdoc_files = [
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
25
25
  "README.md",
26
26
  "Rakefile",
27
27
  "bin/react",
28
+ "examples/commands.yml",
28
29
  "lib/react.rb",
29
30
  "react.gemspec",
30
31
  "test/react_test.rb",
@@ -34,7 +35,7 @@ Gem::Specification.new do |s|
34
35
  s.rdoc_options = ["--charset=UTF-8"]
35
36
  s.require_paths = ["lib"]
36
37
  s.rubygems_version = %q{1.3.6}
37
- s.summary = %q{Redis based remote commands executor.}
38
+ s.summary = %q{Redis based remote command executor.}
38
39
  s.test_files = [
39
40
  "test/teststrap.rb",
40
41
  "test/react_test.rb"
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 1
9
- version: 0.0.1
8
+ - 2
9
+ version: 0.0.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Kriss 'nu7hatch' Kowalik
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-08-16 00:00:00 +02:00
17
+ date: 2010-08-17 00:00:00 +02:00
18
18
  default_executable: react
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: "0"
44
44
  type: :runtime
45
45
  version_requirements: *id002
46
- description: A simple application that allows remote execution of commands.
46
+ description: A simple application that allows for remote execution of commands.
47
47
  email: kriss.kowalik@gmail.com
48
48
  executables:
49
49
  - react
@@ -59,6 +59,7 @@ files:
59
59
  - README.md
60
60
  - Rakefile
61
61
  - bin/react
62
+ - examples/commands.yml
62
63
  - lib/react.rb
63
64
  - react.gemspec
64
65
  - test/react_test.rb
@@ -92,7 +93,7 @@ rubyforge_project:
92
93
  rubygems_version: 1.3.6
93
94
  signing_key:
94
95
  specification_version: 3
95
- summary: Redis based remote commands executor.
96
+ summary: Redis based remote command executor.
96
97
  test_files:
97
98
  - test/teststrap.rb
98
99
  - test/react_test.rb