puma 5.0.4-java → 5.2.2-java
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puma might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/History.md +109 -48
- data/README.md +48 -18
- data/docs/architecture.md +21 -18
- data/docs/compile_options.md +19 -0
- data/docs/deployment.md +1 -1
- data/docs/fork_worker.md +2 -0
- data/docs/kubernetes.md +66 -0
- data/docs/plugins.md +1 -1
- data/docs/rails_dev_mode.md +29 -0
- data/docs/stats.md +142 -0
- data/docs/systemd.md +24 -2
- data/ext/puma_http11/extconf.rb +18 -5
- data/ext/puma_http11/http11_parser.c +45 -47
- data/ext/puma_http11/http11_parser.java.rl +1 -1
- data/ext/puma_http11/http11_parser.rl +1 -1
- data/ext/puma_http11/mini_ssl.c +162 -84
- data/ext/puma_http11/org/jruby/puma/Http11Parser.java +5 -7
- data/ext/puma_http11/puma_http11.c +8 -2
- data/lib/puma.rb +20 -10
- data/lib/puma/app/status.rb +4 -7
- data/lib/puma/binder.rb +60 -24
- data/lib/puma/cli.rb +4 -0
- data/lib/puma/client.rb +4 -9
- data/lib/puma/cluster.rb +10 -6
- data/lib/puma/cluster/worker.rb +8 -2
- data/lib/puma/cluster/worker_handle.rb +5 -2
- data/lib/puma/configuration.rb +14 -1
- data/lib/puma/const.rb +11 -3
- data/lib/puma/control_cli.rb +73 -70
- data/lib/puma/detect.rb +14 -10
- data/lib/puma/dsl.rb +104 -22
- data/lib/puma/error_logger.rb +10 -3
- data/lib/puma/events.rb +18 -3
- data/lib/puma/json.rb +96 -0
- data/lib/puma/launcher.rb +52 -6
- data/lib/puma/minissl.rb +48 -17
- data/lib/puma/minissl/context_builder.rb +6 -0
- data/lib/puma/null_io.rb +12 -0
- data/lib/puma/puma_http11.jar +0 -0
- data/lib/puma/reactor.rb +19 -12
- data/lib/puma/request.rb +20 -7
- data/lib/puma/runner.rb +19 -7
- data/lib/puma/server.rb +20 -75
- data/lib/puma/state_file.rb +5 -3
- data/lib/puma/systemd.rb +46 -0
- data/lib/rack/handler/puma.rb +1 -0
- metadata +8 -2
data/lib/puma/state_file.rb
CHANGED
@@ -9,9 +9,11 @@ module Puma
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def save(path, permission = nil)
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
contents =YAML.dump @options
|
13
|
+
if permission
|
14
|
+
File.write path, contents, mode: 'wb:UTF-8'
|
15
|
+
else
|
16
|
+
File.write path, contents, mode: 'wb:UTF-8', perm: permission
|
15
17
|
end
|
16
18
|
end
|
17
19
|
|
data/lib/puma/systemd.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'sd_notify'
|
4
|
+
|
5
|
+
module Puma
|
6
|
+
class Systemd
|
7
|
+
def initialize(events)
|
8
|
+
@events = events
|
9
|
+
end
|
10
|
+
|
11
|
+
def hook_events
|
12
|
+
@events.on_booted { SdNotify.ready }
|
13
|
+
@events.on_stopped { SdNotify.stopping }
|
14
|
+
@events.on_restart { SdNotify.reloading }
|
15
|
+
end
|
16
|
+
|
17
|
+
def start_watchdog
|
18
|
+
return unless SdNotify.watchdog?
|
19
|
+
|
20
|
+
ping_f = watchdog_sleep_time
|
21
|
+
|
22
|
+
log "Pinging systemd watchdog every #{ping_f.round(1)} sec"
|
23
|
+
Thread.new do
|
24
|
+
loop do
|
25
|
+
sleep ping_f
|
26
|
+
SdNotify.watchdog
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def watchdog_sleep_time
|
34
|
+
usec = Integer(ENV["WATCHDOG_USEC"])
|
35
|
+
|
36
|
+
sec_f = usec / 1_000_000.0
|
37
|
+
# "It is recommended that a daemon sends a keep-alive notification message
|
38
|
+
# to the service manager every half of the time returned here."
|
39
|
+
sec_f / 2
|
40
|
+
end
|
41
|
+
|
42
|
+
def log(str)
|
43
|
+
@events.log str
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/lib/rack/handler/puma.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.2.2
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Evan Phoenix
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -43,6 +43,7 @@ files:
|
|
43
43
|
- bin/puma-wild
|
44
44
|
- bin/pumactl
|
45
45
|
- docs/architecture.md
|
46
|
+
- docs/compile_options.md
|
46
47
|
- docs/deployment.md
|
47
48
|
- docs/fork_worker.md
|
48
49
|
- docs/images/puma-connection-flow-no-reactor.png
|
@@ -52,10 +53,13 @@ files:
|
|
52
53
|
- docs/jungle/rc.d/README.md
|
53
54
|
- docs/jungle/rc.d/puma
|
54
55
|
- docs/jungle/rc.d/puma.conf
|
56
|
+
- docs/kubernetes.md
|
55
57
|
- docs/nginx.md
|
56
58
|
- docs/plugins.md
|
59
|
+
- docs/rails_dev_mode.md
|
57
60
|
- docs/restart.md
|
58
61
|
- docs/signals.md
|
62
|
+
- docs/stats.md
|
59
63
|
- docs/systemd.md
|
60
64
|
- ext/puma_http11/PumaHttp11Service.java
|
61
65
|
- ext/puma_http11/ext_help.h
|
@@ -89,6 +93,7 @@ files:
|
|
89
93
|
- lib/puma/events.rb
|
90
94
|
- lib/puma/io_buffer.rb
|
91
95
|
- lib/puma/jruby_restart.rb
|
96
|
+
- lib/puma/json.rb
|
92
97
|
- lib/puma/launcher.rb
|
93
98
|
- lib/puma/minissl.rb
|
94
99
|
- lib/puma/minissl/context_builder.rb
|
@@ -106,6 +111,7 @@ files:
|
|
106
111
|
- lib/puma/server.rb
|
107
112
|
- lib/puma/single.rb
|
108
113
|
- lib/puma/state_file.rb
|
114
|
+
- lib/puma/systemd.rb
|
109
115
|
- lib/puma/thread_pool.rb
|
110
116
|
- lib/puma/util.rb
|
111
117
|
- lib/rack/handler/puma.rb
|