unicorn-ctl 0.1.5 → 0.1.6
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.
- 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:
|