unicorn-ctl 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +1 -1
- data/bin/unicornctl +19 -13
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9942b7c093975e739c080458689d9878472570f4
|
4
|
+
data.tar.gz: 15291d5de03286c8d20fffb1806adef9a2f06a9f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad78f2f23d649ebde54da12e234bd96057b18e33f367de5a8a909a2c4b4114dc3669ede418f93a4ac92e5dbe0923c3cc59424bae575371d3fee9d5eb72c159f8
|
7
|
+
data.tar.gz: 73285fb1268571d33589301e695134013ab0e135307e03ae1b3cd0e58f1e78baed5d778cf6723f95ccf0db6b9a15dd4a26118892d64d5062d39823d5c7153429
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
## UnicornCtl Changelog
|
2
2
|
|
3
|
+
### 0.1.6 / 2014-06-18
|
4
|
+
|
5
|
+
* Do not follow recirects when performing a health check and handle all 1xx/2xx/3xx as success.
|
6
|
+
* When pid file is empty, treat it as a stale one.
|
7
|
+
|
3
8
|
### 0.1.5 / 2014-02-21
|
4
9
|
|
5
10
|
* Fix --unicorn-config/--rackup-config/--pid-file options handling.
|
data/README.md
CHANGED
@@ -63,7 +63,7 @@ The following command are supported at the moment:
|
|
63
63
|
* `status` - Display current application server status. If the server is up, the command exits with exit
|
64
64
|
code 0, otherwise the exit code will be 1.
|
65
65
|
|
66
|
-
For more information on unicorn
|
66
|
+
For more information on unicorn process management you could check their
|
67
67
|
[official documentation page](http://unicorn.bogomips.org/SIGNALS.html).
|
68
68
|
|
69
69
|
### License
|
data/bin/unicornctl
CHANGED
@@ -69,17 +69,22 @@ def wait_with_timeout(timeout, sleep_time = 1, &block)
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
-
|
72
|
+
#---------------------------------------------------------------------------------------------------
|
73
73
|
# Check if process is still running
|
74
74
|
def pid_running?(pid)
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
75
|
+
# Make sure PID is correct
|
76
|
+
pid = pid.to_i
|
77
|
+
return false if pid <= 0
|
78
|
+
|
79
|
+
# Check if the process exists
|
80
|
+
Process.kill(0, pid)
|
81
|
+
return true
|
82
|
+
|
83
|
+
rescue Errno::ESRCH # Process does not exist
|
84
|
+
return false
|
85
|
+
|
86
|
+
rescue ::Exception # for example on EPERM (process exists but does not belong to us)
|
87
|
+
return true
|
83
88
|
end
|
84
89
|
|
85
90
|
def send_signal(signal, pid)
|
@@ -139,14 +144,15 @@ def check_app_health(options)
|
|
139
144
|
sleep(1)
|
140
145
|
|
141
146
|
response = begin
|
142
|
-
HTTParty.get(options[:check_url], :timeout => options[:check_timeout])
|
147
|
+
HTTParty.get(options[:check_url], :timeout => options[:check_timeout], :no_follow => true)
|
143
148
|
rescue Timeout::Error => e
|
144
149
|
puts "Health check timed out after #{options[:check_timeout]} seconds. Retrying..."
|
145
150
|
next
|
146
151
|
end
|
147
152
|
|
148
|
-
|
149
|
-
|
153
|
+
code = response.code.to_i
|
154
|
+
if 100 <= code && code < 400
|
155
|
+
puts "Health check succeeded with code: #{code}"
|
150
156
|
if options[:check_content]
|
151
157
|
if response.body.match(options[:check_content])
|
152
158
|
puts "Content check succeeded, found content in response body: #{options[:check_content]}"
|
@@ -458,7 +464,7 @@ def show_help(error = nil)
|
|
458
464
|
puts ' --app-dir=dir | -d dir Base directory for the application (required)'
|
459
465
|
puts ' --environment=name | -e name RACK_ENV to use for the app (default: development)'
|
460
466
|
puts ' --health-check-url=url | -H url Health check URL used to make sure the app has started'
|
461
|
-
puts ' --health-check-content=string | -C string Health check expected content (default: just check for HTTP
|
467
|
+
puts ' --health-check-content=string | -C string Health check expected content (default: just check for HTTP 1xx/2xx/3xx)'
|
462
468
|
puts ' --health-check-timeout=sec | -T sec Individual health check timeout (default: 5 sec)'
|
463
469
|
puts ' --start-wait=sec | -w sec New master startup wait (default: 5 sec, use 0 to disable)'
|
464
470
|
puts ' --timeout=sec | -t sec Operation (start/stop/etc) timeout (default: 30 sec)'
|
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unicorn-ctl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oleksiy Kovyrin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
description: A script to control unicorn instances.
|
@@ -60,18 +60,19 @@ require_paths:
|
|
60
60
|
- lib
|
61
61
|
required_ruby_version: !ruby/object:Gem::Requirement
|
62
62
|
requirements:
|
63
|
-
- -
|
63
|
+
- - '>='
|
64
64
|
- !ruby/object:Gem::Version
|
65
65
|
version: '0'
|
66
66
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
|
-
- -
|
68
|
+
- - '>='
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '0'
|
71
71
|
requirements: []
|
72
72
|
rubyforge_project:
|
73
|
-
rubygems_version: 2.2.
|
73
|
+
rubygems_version: 2.2.2
|
74
74
|
signing_key:
|
75
75
|
specification_version: 4
|
76
76
|
summary: Start/stop/restart/upgrade unicorn instances reliably.
|
77
77
|
test_files: []
|
78
|
+
has_rdoc:
|