unicorn 5.1.0 → 5.1.0.4.gd5fbb
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/FAQ +1 -1
- data/KNOWN_ISSUES +2 -2
- data/Sandbox +3 -2
- data/examples/logrotate.conf +16 -1
- data/examples/unicorn@.service +5 -0
- data/ext/unicorn_http/unicorn_http_common.rl +1 -1
- data/lib/unicorn/oob_gc.rb +3 -2
- data/test/unit/test_http_parser.rb +18 -0
- metadata +9 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a5d6bc3b0645f30f462be377d92ec24bcf5fcacb
|
4
|
+
data.tar.gz: fa51154d9b926ad0a8301f77ff0d4babf07a7d48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17f429009a38073ea5dd3a7772300601129fc8f422c75dbd5429ed533dbeb943d8b25de7e96e9f42ad61d982505051e9cc752fc7dc1aee0262ccef8e761911df
|
7
|
+
data.tar.gz: fee36ed0bff5249d491f0e07c0df51ff3982f4f4b2747bc2c73b20b3b57cadc1c0082ddff0c14d1ad529c516082e63b0c438c9cc725fb2845cd775fc9fa378dd
|
data/FAQ
CHANGED
@@ -7,7 +7,7 @@ drained entirely by the application. This may happen when request
|
|
7
7
|
bodies are gzipped, as unicorn reads request body data lazily to avoid
|
8
8
|
overhead from bad requests.
|
9
9
|
|
10
|
-
Ref:
|
10
|
+
Ref: https://bogomips.org/unicorn-public/FC91211E-FD32-432C-92FC-0318714C2170@zendesk.com/
|
11
11
|
|
12
12
|
=== Why aren't my Rails log files rotated when I use SIGUSR1?
|
13
13
|
|
data/KNOWN_ISSUES
CHANGED
@@ -9,7 +9,7 @@ acceptable solution. Those issues are documented here.
|
|
9
9
|
handlers.
|
10
10
|
|
11
11
|
* Issues with FreeBSD jails can be worked around as documented by Tatsuya Ono:
|
12
|
-
|
12
|
+
https://bogomips.org/unicorn-public/CAHBuKRj09FdxAgzsefJWotexw-7JYZGJMtgUp_dhjPz9VbKD6Q@mail.gmail.com/
|
13
13
|
|
14
14
|
* PRNGs (pseudo-random number generators) loaded before forking
|
15
15
|
(e.g. "preload_app true") may need to have their internal state
|
@@ -60,7 +60,7 @@ acceptable solution. Those issues are documented here.
|
|
60
60
|
application to use Rails 2.3.2 and you have no other choice, then
|
61
61
|
you may edit your unicorn gemspec and remove the Rack dependency.
|
62
62
|
|
63
|
-
ref:
|
63
|
+
ref: https://bogomips.org/unicorn-public/20091014221552.GA30624@dcvr.yhbt.net/
|
64
64
|
Note: the workaround described in the article above only made
|
65
65
|
the issue more subtle and we didn't notice them immediately.
|
66
66
|
|
data/Sandbox
CHANGED
@@ -34,7 +34,7 @@ is the primary issue with sandboxing tools such as Bundler and Isolate.
|
|
34
34
|
If you're bundling unicorn, use "bundle exec unicorn" (or "bundle exec
|
35
35
|
unicorn_rails") to start unicorn with the correct environment variables
|
36
36
|
|
37
|
-
ref:
|
37
|
+
ref: https://bogomips.org/unicorn-public/9ECF07C4-5216-47BE-961D-AFC0F0C82060@internetfamo.us/
|
38
38
|
|
39
39
|
Otherwise (if you choose to not sandbox your unicorn installation), we
|
40
40
|
expect the tips for Isolate (below) apply, too.
|
@@ -43,7 +43,8 @@ expect the tips for Isolate (below) apply, too.
|
|
43
43
|
|
44
44
|
This is no longer be an issue as of bundler 0.9.17
|
45
45
|
|
46
|
-
ref:
|
46
|
+
ref:
|
47
|
+
https://bogomips.org/unicorn-public/8FC34B23-5994-41CC-B5AF-7198EF06909E@tramchase.com/
|
47
48
|
|
48
49
|
=== BUNDLE_GEMFILE for Capistrano users
|
49
50
|
|
data/examples/logrotate.conf
CHANGED
@@ -3,6 +3,9 @@
|
|
3
3
|
#
|
4
4
|
# See the logrotate(8) manpage for more information:
|
5
5
|
# http://linux.die.net/man/8/logrotate
|
6
|
+
#
|
7
|
+
# public logrotate-related discussion in our archives:
|
8
|
+
# https://bogomips.org/unicorn-public/?q=logrotate
|
6
9
|
|
7
10
|
# Modify the following glob to match the logfiles your app writes to:
|
8
11
|
/var/log/unicorn_app/*.log {
|
@@ -22,7 +25,19 @@
|
|
22
25
|
# config. Unicorn supports the USR1 signal and we send it
|
23
26
|
# as our "lastaction" action:
|
24
27
|
lastaction
|
25
|
-
#
|
28
|
+
# For systemd users, assuming you use two services
|
29
|
+
# (as recommended) to allow zero-downtime upgrades.
|
30
|
+
# Only one service needs to be started, but signaling
|
31
|
+
# both here is harmless as long as they're both enabled
|
32
|
+
systemctl kill -s SIGUSR1 unicorn@1.service
|
33
|
+
systemctl kill -s SIGUSR1 unicorn@2.service
|
34
|
+
|
35
|
+
# Examples for other process management systems appreciated
|
36
|
+
# Mail us at unicorn-public@bogomips.org
|
37
|
+
# (see above for archives)
|
38
|
+
|
39
|
+
# If you use a pid file and assuming your pid file
|
40
|
+
# is in /var/run/unicorn_app/pid
|
26
41
|
pid=/var/run/unicorn_app/pid
|
27
42
|
test -s $pid && kill -USR1 "$(cat $pid)"
|
28
43
|
endscript
|
data/examples/unicorn@.service
CHANGED
@@ -24,5 +24,10 @@ ExecReload = /bin/kill -HUP $MAINPID
|
|
24
24
|
# adding a few seconds for scheduling differences:
|
25
25
|
TimeoutStopSec = 62
|
26
26
|
|
27
|
+
# Only kill the master process, it may be harmful to signal
|
28
|
+
# workers via default "control-group" setting since some
|
29
|
+
# Ruby extensions and applications misbehave on interrupts
|
30
|
+
KillMode = process
|
31
|
+
|
27
32
|
[Install]
|
28
33
|
WantedBy = multi-user.target
|
data/lib/unicorn/oob_gc.rb
CHANGED
@@ -43,8 +43,9 @@
|
|
43
43
|
# use Unicorn::OobGC, 2, %r{\A/(?:expensive/foo|more_expensive/foo)}
|
44
44
|
#
|
45
45
|
# Feedback from users of early implementations of this module:
|
46
|
-
# *
|
47
|
-
# *
|
46
|
+
# * https://bogomips.org/unicorn-public/0BFC98E9-072B-47EE-9A70-05478C20141B@lukemelia.com/
|
47
|
+
# * https://bogomips.org/unicorn-public/AANLkTilUbgdyDv9W1bi-s_W6kq9sOhWfmuYkKLoKGOLj@mail.gmail.com/
|
48
|
+
|
48
49
|
module Unicorn::OobGC
|
49
50
|
|
50
51
|
# this pretends to be Rack middleware because it used to be
|
@@ -230,6 +230,24 @@ def test_nasty_pound_header
|
|
230
230
|
assert_equal expect, req['HTTP_X_SSL_BULLSHIT']
|
231
231
|
end
|
232
232
|
|
233
|
+
def test_multiline_header_0d0a
|
234
|
+
parser = HttpParser.new
|
235
|
+
parser.buf << "GET / HTTP/1.0\r\n" \
|
236
|
+
"X-Multiline-Header: foo bar\r\n\tcha cha\r\n\tzha zha\r\n\r\n"
|
237
|
+
req = parser.env
|
238
|
+
assert_equal req, parser.parse
|
239
|
+
assert_equal 'foo bar cha cha zha zha', req['HTTP_X_MULTILINE_HEADER']
|
240
|
+
end
|
241
|
+
|
242
|
+
def test_multiline_header_0a
|
243
|
+
parser = HttpParser.new
|
244
|
+
parser.buf << "GET / HTTP/1.0\n" \
|
245
|
+
"X-Multiline-Header: foo bar\n\tcha cha\n\tzha zha\n\n"
|
246
|
+
req = parser.env
|
247
|
+
assert_equal req, parser.parse
|
248
|
+
assert_equal 'foo bar cha cha zha zha', req['HTTP_X_MULTILINE_HEADER']
|
249
|
+
end
|
250
|
+
|
233
251
|
def test_continuation_eats_leading_spaces
|
234
252
|
parser = HttpParser.new
|
235
253
|
header = "GET / HTTP/1.1\r\n" \
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unicorn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.1.0
|
4
|
+
version: 5.1.0.4.gd5fbb
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- unicorn hackers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -115,6 +115,8 @@ extra_rdoc_files:
|
|
115
115
|
- lib/unicorn/util.rb
|
116
116
|
- lib/unicorn/oob_gc.rb
|
117
117
|
- lib/unicorn/worker.rb
|
118
|
+
- unicorn_1
|
119
|
+
- unicorn_rails_1
|
118
120
|
- ISSUES
|
119
121
|
- Sandbox
|
120
122
|
- Links
|
@@ -276,6 +278,8 @@ files:
|
|
276
278
|
- test/unit/test_upload.rb
|
277
279
|
- test/unit/test_util.rb
|
278
280
|
- unicorn.gemspec
|
281
|
+
- unicorn_1
|
282
|
+
- unicorn_rails_1
|
279
283
|
homepage: http://unicorn.bogomips.org/
|
280
284
|
licenses:
|
281
285
|
- GPL-2.0+
|
@@ -292,12 +296,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
292
296
|
version: '3.0'
|
293
297
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
294
298
|
requirements:
|
295
|
-
- - "
|
299
|
+
- - ">"
|
296
300
|
- !ruby/object:Gem::Version
|
297
|
-
version:
|
301
|
+
version: 1.3.1
|
298
302
|
requirements: []
|
299
303
|
rubyforge_project:
|
300
|
-
rubygems_version: 2.6.
|
304
|
+
rubygems_version: 2.6.6
|
301
305
|
signing_key:
|
302
306
|
specification_version: 4
|
303
307
|
summary: Rack HTTP server for fast clients and Unix
|