rack-timeout 0.6.0 → 0.6.1
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 +4 -0
- data/README.md +2 -2
- data/doc/settings.md +1 -1
- data/lib/rack/timeout/core.rb +1 -4
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fafa5a90f1af90fdcc6ce081752ba684aac2652c1fd31867274ab9fc01a7c778
|
4
|
+
data.tar.gz: 6b3f1a800e031218a1e026737614b9d087d037c9ae8407ef788b3f2d404cb50a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9390e4bb587d82e2ae0574397f9e02d61c5a13e162d980ad972d174f158d43a241949fdc77ae34d4206f01ec2dbd92d9c66d6bdb886ed4065dace963daf30b15
|
7
|
+
data.tar.gz: e4d838274207478d4ca0767bac9b702640aebdaada4ca2aa4f077fc79c23d4c34ab7744d2b3af44c58479cf5ad1a09e3c11e241add93eb6f5c906883c7dd4291
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -114,5 +114,5 @@ for Rails apps, Rails 3.x and up.
|
|
114
114
|
|
115
115
|
|
116
116
|
---
|
117
|
-
Copyright © 2010-
|
118
|
-
<http://github.com/
|
117
|
+
Copyright © 2010-2020 Caio Chassot, released under the MIT license
|
118
|
+
<http://github.com/sharpstone/rack-timeout>
|
data/doc/settings.md
CHANGED
@@ -59,7 +59,7 @@ If your application timeouts fire frequently then [they can cause your applicati
|
|
59
59
|
|
60
60
|
After the worker process exists will Puma's parent process know to boot a replacement worker. While one process is restarting, another can still serve requests (if you have more than 1 worker process per server/dyno). Between when a process exits and when a new process boots, there will be a reduction in throughput. If all processes are restarting, then incoming requests will be blocked while new processes boot.
|
61
61
|
|
62
|
-
**How to enable** To enable this behavior you can set `term_on_timeout: 1` to an integer value. If you set it to
|
62
|
+
**How to enable** To enable this behavior you can set `term_on_timeout: 1` to an integer value. If you set it to one, then the first time the process encounters a timeout, it will receive a SIGTERM.
|
63
63
|
|
64
64
|
To enable on Heroku run:
|
65
65
|
|
data/lib/rack/timeout/core.rb
CHANGED
@@ -53,8 +53,6 @@ module Rack
|
|
53
53
|
when nil ; read_timeout_property default, default
|
54
54
|
when false ; false
|
55
55
|
when 0 ; false
|
56
|
-
when String
|
57
|
-
read_timeout_property value.to_i, default
|
58
56
|
else
|
59
57
|
value.is_a?(Numeric) && value > 0 or raise ArgumentError, "value #{value.inspect} should be false, zero, or a positive number."
|
60
58
|
value
|
@@ -69,7 +67,7 @@ module Rack
|
|
69
67
|
:term_on_timeout
|
70
68
|
|
71
69
|
def initialize(app, service_timeout:nil, wait_timeout:nil, wait_overtime:nil, service_past_wait:"not_specified", term_on_timeout: nil)
|
72
|
-
@term_on_timeout = read_timeout_property term_on_timeout, ENV.fetch("RACK_TIMEOUT_TERM_ON_TIMEOUT",
|
70
|
+
@term_on_timeout = read_timeout_property term_on_timeout, ENV.fetch("RACK_TIMEOUT_TERM_ON_TIMEOUT", 0).to_i
|
73
71
|
@service_timeout = read_timeout_property service_timeout, ENV.fetch("RACK_TIMEOUT_SERVICE_TIMEOUT", 15).to_i
|
74
72
|
@wait_timeout = read_timeout_property wait_timeout, ENV.fetch("RACK_TIMEOUT_WAIT_TIMEOUT", 30).to_i
|
75
73
|
@wait_overtime = read_timeout_property wait_overtime, ENV.fetch("RACK_TIMEOUT_WAIT_OVERTIME", 60).to_i
|
@@ -77,7 +75,6 @@ module Rack
|
|
77
75
|
|
78
76
|
Thread.main['RACK_TIMEOUT_COUNT'] ||= 0
|
79
77
|
if @term_on_timeout
|
80
|
-
raise "term_on_timeout must be an integer but is #{@term_on_timeout.class}: #{@term_on_timeout}" unless @term_on_timeout.is_a?(Numeric)
|
81
78
|
raise "Current Runtime does not support processes" unless ::Process.respond_to?(:fork)
|
82
79
|
end
|
83
80
|
@app = app
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-timeout
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Caio Chassot
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -91,10 +91,10 @@ licenses:
|
|
91
91
|
- MIT
|
92
92
|
metadata:
|
93
93
|
bug_tracker_uri: https://github.com/sharpstone/rack-timeout/issues
|
94
|
-
changelog_uri: https://github.com/sharpstone/rack-timeout/blob/v0.6.
|
95
|
-
documentation_uri: https://rubydoc.info/gems/rack-timeout/0.6.
|
94
|
+
changelog_uri: https://github.com/sharpstone/rack-timeout/blob/v0.6.1/CHANGELOG.md
|
95
|
+
documentation_uri: https://rubydoc.info/gems/rack-timeout/0.6.1/
|
96
96
|
source_code_uri: https://github.com/sharpstone/rack-timeout
|
97
|
-
post_install_message:
|
97
|
+
post_install_message:
|
98
98
|
rdoc_options: []
|
99
99
|
require_paths:
|
100
100
|
- lib
|
@@ -109,8 +109,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
requirements: []
|
112
|
-
rubygems_version: 3.
|
113
|
-
signing_key:
|
112
|
+
rubygems_version: 3.3.7
|
113
|
+
signing_key:
|
114
114
|
specification_version: 4
|
115
115
|
summary: Abort requests that are taking too long
|
116
116
|
test_files:
|