puma 5.0.4-java → 5.2.2-java
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.
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
|