upstart-unicorn-launcher 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 81675d74f21b08aa061a2ce4beaed5b6c9370961
4
- data.tar.gz: acc2ca0094d53dcd461f0dd9f39bd259b10b344a
3
+ metadata.gz: bdfc24e5bf5ef2d9924b8a92e106ab2252d3b1af
4
+ data.tar.gz: 9dd25c996216aab6a037231260936fcdf303b63b
5
5
  SHA512:
6
- metadata.gz: 8fb5f6084e831a664202ea5dc0a61620ad054c928c601a9b192dffe0631e7720ee7c983a86c71f86ed5027a47ea782405ad51fb4891c7017a20acfc3b5d6e799
7
- data.tar.gz: 3aa5c4869908646138cc1781606b99210cd9e6b2bcd7816e760ea5ef47dc170d3294d566f0470e52b92f64197f08d864e37c651c78acc160ce80c1828db6d72f
6
+ metadata.gz: b1f3a6509d84cbc26e19c33717828c8af1ca1e3df00cac8966d8aa3334e49e3b0a99d04d573a0cfd349de1eee7b730a2baef56bfbbdb3fe2e5b2a42e569a0f86
7
+ data.tar.gz: 09a808562a61fe9f18758e4c7e6096d458ff35aae8d9bd2ef96b10f68b10d66b18cfc3688b0781d27b548da75a4ebbc560cde1cd42392de24306333c6aa0dcbf
data/README.md CHANGED
@@ -1 +1,9 @@
1
1
  A simple unicorn launcher for use with upstart, in the same manner as https://github.com/alphagov/unicornherder
2
+
3
+ ## Credits
4
+
5
+ upstart-unicorn-launcher was written by [Tom Ward](http://tomafro.net) when he worked at [Go Free Range Ltd](http://gofreerange.com).
6
+
7
+ ## License
8
+
9
+ upstart-unicorn-launcher is released under the [MIT License](https://github.com/freerange/upstart-unicorn-launcher/blob/master/LICENSE).
@@ -17,9 +17,8 @@ class UpstartUnicornLauncher
17
17
  quit_server_on :QUIT, :INT, :TERM
18
18
  forward_to_server :USR1, :USR2, :WINCH, :TTIN, :TTOU
19
19
  start_server
20
- loop do
21
- sleep 1
22
- end
20
+
21
+ wait_for_server_to_quit
23
22
  end
24
23
 
25
24
  private
@@ -57,6 +56,12 @@ class UpstartUnicornLauncher
57
56
  wait_for_with_timeout { !running? }
58
57
  end
59
58
 
59
+ def wait_for_server_to_quit
60
+ until !running?
61
+ sleep 1
62
+ end
63
+ end
64
+
60
65
  def restart_server
61
66
  reexecute_running_binary
62
67
  wait_for_with_timeout { old_pid }
@@ -1,3 +1,3 @@
1
1
  class UpstartUnicornLauncher
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -13,6 +13,12 @@ module SpecHelper
13
13
  Process.kill signal, @launcher_pid
14
14
  end
15
15
 
16
+ def launcher_running?
17
+ !!Process.getpgid(@launcher_pid)
18
+ rescue Errno::ESRCH
19
+ false
20
+ end
21
+
16
22
  def kill_launcher
17
23
  puts "Killing #{@launcher_pid}"
18
24
  Process.kill "QUIT", @launcher_pid
@@ -1 +1 @@
1
- pid "/Users/tomw/Projects/tools/upstart-unicorn-launcher/spec/templates/test/unicorn.pid"
1
+ pid "spec/templates/test/unicorn.pid"
@@ -42,7 +42,7 @@ describe 'Upstart integration' do
42
42
  start_launcher
43
43
  original_response = perform_request.body_str
44
44
  send_to_launcher 'HUP'
45
- sleep 1
45
+ sleep 5
46
46
  expect(perform_request.body_str).to_not eql(original_response)
47
47
  end
48
48
 
@@ -56,4 +56,11 @@ describe 'Upstart integration' do
56
56
  end
57
57
  expect(responses.uniq.size).to eql(2)
58
58
  end
59
+
60
+ it 'stops running when server quits' do
61
+ start_launcher
62
+ send_to_launcher 'QUIT'
63
+ sleep 2
64
+ expect(launcher_running?).to be(false)
65
+ end
59
66
  end
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: upstart-unicorn-launcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Ward
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-11 00:00:00.000000000 Z
11
+ date: 2016-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: unicorn
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: rspec
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: :development
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
  - !ruby/object:Gem::Dependency
42
42
  name: curb
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  description: Launch unicorn with upstart
@@ -60,7 +60,7 @@ executables:
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
- - .gitignore
63
+ - ".gitignore"
64
64
  - Gemfile
65
65
  - LICENSE
66
66
  - README.md
@@ -84,17 +84,17 @@ require_paths:
84
84
  - lib
85
85
  required_ruby_version: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - '>='
92
+ - - ">="
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0'
95
95
  requirements: []
96
96
  rubyforge_project:
97
- rubygems_version: 2.0.2
97
+ rubygems_version: 2.2.2
98
98
  signing_key:
99
99
  specification_version: 4
100
100
  summary: Helps launch unicorn using upstart process management
@@ -104,3 +104,4 @@ test_files:
104
104
  - spec/templates/test/config.ru
105
105
  - spec/templates/test/unicorn.rb
106
106
  - spec/upstart_integration_spec.rb
107
+ has_rdoc: