svelte-on-rails 22.0.3 → 22.1.0
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/lib/svelte_on_rails/lib/utils.rb +10 -15
- data/lib/svelte_on_rails/railtie.rb +1 -3
- data/lib/svelte_on_rails/ssr_server.rb +17 -38
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7f30afd891885bd5b9d03aacb948116be1d32838d08c9d29589b5d3d68d31317
|
|
4
|
+
data.tar.gz: cbd63f36144fac966013a5b6d9e1bcfca9070a56c8367eaff8ff2033ab628ff2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: acfe1cb4a3c02e70f979097867ab426b46b98025c88326831d41c229a41b9e468d2a8a76ae4cb9c35be9e3ba3ed3ff750e3edb2f80d52587de207ffafc62c085
|
|
7
|
+
data.tar.gz: 1c5aa90cbc05f1eeef827957035a894eb721ec957223a9230fce24ae0db48ce2c500ad8d19b901a5836431fa70127d7925b01ffa88344c243eb614711c31b7f5
|
|
@@ -153,25 +153,20 @@ module SvelteOnRails
|
|
|
153
153
|
trace[0..last_match_index]
|
|
154
154
|
end
|
|
155
155
|
|
|
156
|
-
|
|
157
|
-
|
|
156
|
+
def self.ssr_server_logfile
|
|
157
|
+
Rails.root.join("log", "svelte-ssr-server.log")
|
|
158
|
+
end
|
|
158
159
|
|
|
159
|
-
|
|
160
|
+
def self.ssr_server_log(msg)
|
|
161
|
+
File.open(ssr_server_logfile, 'a') do |f|
|
|
162
|
+
f.sync = true
|
|
163
|
+
f.puts("[#{Time.now.utc.iso8601(3)} ppid:#{Process.ppid} pid:#{Process.pid}] #{msg}")
|
|
164
|
+
end
|
|
165
|
+
puts "[SOR] #{msg}"
|
|
160
166
|
$stdout.flush
|
|
167
|
+
end
|
|
161
168
|
|
|
162
|
-
# base = Rails.root.join('tmp')
|
|
163
|
-
|
|
164
|
-
# FileUtils.mkdir_p(base) unless File.directory?(base)
|
|
165
|
-
# path = File.join(base.to_s, 'svelte-on-rails.log')
|
|
166
169
|
|
|
167
|
-
# File.open(path, 'a') do |f|
|
|
168
|
-
# f.sync = true
|
|
169
|
-
# f.puts("[#{Time.now.utc.iso8601(3)}] [pid=#{Process.pid}] #{line}")
|
|
170
|
-
# end
|
|
171
|
-
rescue => e
|
|
172
|
-
# Last resort: write the failure itself to stderr; never raise.
|
|
173
|
-
warn "[SOR] sor_debug_log failed: #{e.class}: #{e.message}"
|
|
174
|
-
end
|
|
175
170
|
end
|
|
176
171
|
end
|
|
177
172
|
end
|
|
@@ -18,12 +18,10 @@ module SvelteOnRails
|
|
|
18
18
|
app.config.after_initialize do
|
|
19
19
|
|
|
20
20
|
if defined?(Rake) && Rake.respond_to?(:application) && Rake.application.top_level_tasks.any?
|
|
21
|
-
|
|
21
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Skipping svelte-on-rails SSR-Server because of top level task: #{Rake.application.top_level_tasks.join(', ')}")
|
|
22
22
|
$stdout.flush
|
|
23
23
|
elsif SvelteOnRails::Configuration.instance.configs[:ssr]
|
|
24
|
-
SvelteOnRails::Lib::Utils.secure_debug_log("Initializing SSR client")
|
|
25
24
|
SvelteOnRails::SsrServer.instance
|
|
26
|
-
SvelteOnRails::Lib::Utils.secure_debug_log("Initializing SSR client finished")
|
|
27
25
|
end
|
|
28
26
|
|
|
29
27
|
end
|
|
@@ -15,16 +15,14 @@ module SvelteOnRails
|
|
|
15
15
|
# methods
|
|
16
16
|
|
|
17
17
|
def self.instance
|
|
18
|
-
SvelteOnRails::Lib::Utils.secure_debug_log("SOR Server instance called")
|
|
19
18
|
@instance ||= new
|
|
20
19
|
end
|
|
21
20
|
|
|
22
21
|
def initialize
|
|
23
22
|
|
|
24
|
-
SvelteOnRails::Lib::Utils.
|
|
23
|
+
SvelteOnRails::Lib::Utils.ssr_server_logfile.delete if SvelteOnRails::Lib::Utils.ssr_server_logfile.exist?
|
|
25
24
|
|
|
26
25
|
@helpers = SsrServerHelpers.new
|
|
27
|
-
@helpers.logfile.delete if @helpers.logfile.exist?
|
|
28
26
|
|
|
29
27
|
@logfile_path = Rails.root.join("log/svelte-ssr-server-#{Rails.env}.log")
|
|
30
28
|
@logfile_max_lines = build_logfile_max_lines
|
|
@@ -35,21 +33,16 @@ module SvelteOnRails
|
|
|
35
33
|
File.delete(restart_marker_file) if File.exist?(restart_marker_file)
|
|
36
34
|
|
|
37
35
|
if @ssr_server
|
|
38
|
-
# if !defined?(Rails::Server)
|
|
39
|
-
# SvelteOnRails::Lib::Utils.secure_debug_log("Rails Server is not yet defined, SSR Server cannot be started because of initializing too early")
|
|
40
|
-
# else
|
|
41
|
-
|
|
42
|
-
SvelteOnRails::Lib::Utils.secure_debug_log("SOR using svelte-ssr-server called, now starting node-server...")
|
|
43
36
|
|
|
44
37
|
start_node_server!
|
|
45
|
-
|
|
38
|
+
|
|
46
39
|
at_exit do
|
|
47
40
|
@helpers.shutdown
|
|
48
41
|
File.delete(restart_marker_file) if File.exist?(restart_marker_file)
|
|
49
42
|
end
|
|
50
43
|
else
|
|
51
|
-
SvelteOnRails::Lib::Utils.
|
|
52
|
-
SvelteOnRails::Lib::Utils.
|
|
44
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("SSR Server NOT used => @ssr_server #{@ssr_server}")
|
|
45
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("SSR Server NOT used => @ssr_server #{defined?(Rails::Server)}")
|
|
53
46
|
end
|
|
54
47
|
|
|
55
48
|
end
|
|
@@ -174,8 +167,7 @@ module SvelteOnRails
|
|
|
174
167
|
restart_after_failure: false
|
|
175
168
|
)
|
|
176
169
|
|
|
177
|
-
|
|
178
|
-
SvelteOnRails::Lib::Utils.secure_debug_log("SOR start_node_server! called") if restart_after_failure
|
|
170
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("SOR start_node_server! called") if restart_after_failure
|
|
179
171
|
|
|
180
172
|
# notice ppid
|
|
181
173
|
FileUtils.mkdir_p(@helpers.ssr_server_ppid_file.dirname)
|
|
@@ -195,28 +187,28 @@ module SvelteOnRails
|
|
|
195
187
|
status: status
|
|
196
188
|
}
|
|
197
189
|
end
|
|
198
|
-
|
|
199
|
-
|
|
190
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Node Version: #{Configuration.instance.node_version_test}, package version: #{Configuration.instance.npm_package_version_test}")
|
|
191
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Start running Svelte-SSR-Server... (#{started_by})")
|
|
200
192
|
|
|
201
193
|
until node_server_pid do
|
|
202
194
|
sleep 0.12
|
|
203
|
-
|
|
195
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Waiting for node server process-id")
|
|
204
196
|
start_server_timeout!(start)
|
|
205
197
|
end
|
|
206
198
|
|
|
207
199
|
until File.exist?(socket_path) do
|
|
208
200
|
sleep 0.1
|
|
209
|
-
|
|
201
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Waiting for socket to be created")
|
|
210
202
|
start_server_timeout!(start)
|
|
211
203
|
end
|
|
212
|
-
|
|
204
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Socket created: #{socket_path}")
|
|
213
205
|
|
|
214
206
|
until ping? do
|
|
215
|
-
|
|
207
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Waiting for successful server-response")
|
|
216
208
|
start_server_timeout!(start)
|
|
217
209
|
sleep 0.1
|
|
218
210
|
end
|
|
219
|
-
|
|
211
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Server responded successfully")
|
|
220
212
|
|
|
221
213
|
@helpers.cleanup_leftover_processes
|
|
222
214
|
end
|
|
@@ -225,7 +217,7 @@ module SvelteOnRails
|
|
|
225
217
|
|
|
226
218
|
marker = restart_marker_file
|
|
227
219
|
if File.exist?(marker) && File.mtime(marker) > 10.seconds.ago
|
|
228
|
-
SvelteOnRails::Lib::Utils.
|
|
220
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("[ERROR] Prevented Server Restart because server was restarted too recently: #{marker}")
|
|
229
221
|
return
|
|
230
222
|
end
|
|
231
223
|
|
|
@@ -235,7 +227,7 @@ module SvelteOnRails
|
|
|
235
227
|
|
|
236
228
|
msg = "Restarting SSR server (#{tag})"
|
|
237
229
|
Rails.logger.error(msg)
|
|
238
|
-
SvelteOnRails::Lib::Utils.
|
|
230
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("[ERROR] #{msg}")
|
|
239
231
|
|
|
240
232
|
@helpers.shutdown
|
|
241
233
|
begin
|
|
@@ -367,7 +359,7 @@ module SvelteOnRails
|
|
|
367
359
|
FileUtils.mkdir_p(dir)
|
|
368
360
|
FileUtils.chmod(0777, dir)
|
|
369
361
|
fallback = Pathname.new("#{dir}/#{@socket_namespace}-#{ppid}.sock")
|
|
370
|
-
|
|
362
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("sockets longer than 104 chars are risky, fallback to: #{fallback}")
|
|
371
363
|
fallback
|
|
372
364
|
end
|
|
373
365
|
|
|
@@ -407,19 +399,6 @@ module SvelteOnRails
|
|
|
407
399
|
File.delete(ssr_server_ppid_file) if File.exist?(ssr_server_ppid_file)
|
|
408
400
|
end
|
|
409
401
|
|
|
410
|
-
def secure_log(msg)
|
|
411
|
-
|
|
412
|
-
File.open(logfile, 'a') do |f|
|
|
413
|
-
f.sync = true
|
|
414
|
-
f.puts("[#{Time.now.utc.iso8601(3)} ppid:#{Process.ppid} pid:#{Process.pid}] #{msg}")
|
|
415
|
-
end
|
|
416
|
-
|
|
417
|
-
end
|
|
418
|
-
|
|
419
|
-
def logfile
|
|
420
|
-
Rails.root.join("log", "svelte_ssr_server.log")
|
|
421
|
-
end
|
|
422
|
-
|
|
423
402
|
private
|
|
424
403
|
|
|
425
404
|
# Cluster mode: a primary + N workers share one socket path.
|
|
@@ -431,7 +410,7 @@ module SvelteOnRails
|
|
|
431
410
|
Process.kill("SIGINT", p.pid) rescue Errno::ESRCH || Errno::EPERM
|
|
432
411
|
end
|
|
433
412
|
|
|
434
|
-
|
|
413
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Killed #{processes.length} #{label} process#{'es' if processes.length != 1}")
|
|
435
414
|
end
|
|
436
415
|
|
|
437
416
|
def delete_sockets(socket_paths, label:)
|
|
@@ -443,7 +422,7 @@ module SvelteOnRails
|
|
|
443
422
|
# raced with primary's own cleanup — fine
|
|
444
423
|
end
|
|
445
424
|
|
|
446
|
-
|
|
425
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Deleted #{socket_paths.size} #{label} socket#{'s' if socket_paths.size != 1}")
|
|
447
426
|
end
|
|
448
427
|
|
|
449
428
|
# All running SSR processes matching our namespace (any ppid).
|