svelte-on-rails 22.0.2 → 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 -30
- 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,13 +15,12 @@ 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
26
|
|
|
@@ -34,21 +33,16 @@ module SvelteOnRails
|
|
|
34
33
|
File.delete(restart_marker_file) if File.exist?(restart_marker_file)
|
|
35
34
|
|
|
36
35
|
if @ssr_server
|
|
37
|
-
# if !defined?(Rails::Server)
|
|
38
|
-
# SvelteOnRails::Lib::Utils.secure_debug_log("Rails Server is not yet defined, SSR Server cannot be started because of initializing too early")
|
|
39
|
-
# else
|
|
40
|
-
|
|
41
|
-
SvelteOnRails::Lib::Utils.secure_debug_log("SOR using svelte-ssr-server called, now starting node-server...")
|
|
42
36
|
|
|
43
37
|
start_node_server!
|
|
44
|
-
|
|
38
|
+
|
|
45
39
|
at_exit do
|
|
46
40
|
@helpers.shutdown
|
|
47
41
|
File.delete(restart_marker_file) if File.exist?(restart_marker_file)
|
|
48
42
|
end
|
|
49
43
|
else
|
|
50
|
-
SvelteOnRails::Lib::Utils.
|
|
51
|
-
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)}")
|
|
52
46
|
end
|
|
53
47
|
|
|
54
48
|
end
|
|
@@ -173,7 +167,7 @@ module SvelteOnRails
|
|
|
173
167
|
restart_after_failure: false
|
|
174
168
|
)
|
|
175
169
|
|
|
176
|
-
SvelteOnRails::Lib::Utils.
|
|
170
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("SOR start_node_server! called") if restart_after_failure
|
|
177
171
|
|
|
178
172
|
# notice ppid
|
|
179
173
|
FileUtils.mkdir_p(@helpers.ssr_server_ppid_file.dirname)
|
|
@@ -193,28 +187,28 @@ module SvelteOnRails
|
|
|
193
187
|
status: status
|
|
194
188
|
}
|
|
195
189
|
end
|
|
196
|
-
|
|
197
|
-
|
|
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})")
|
|
198
192
|
|
|
199
193
|
until node_server_pid do
|
|
200
194
|
sleep 0.12
|
|
201
|
-
|
|
195
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Waiting for node server process-id")
|
|
202
196
|
start_server_timeout!(start)
|
|
203
197
|
end
|
|
204
198
|
|
|
205
199
|
until File.exist?(socket_path) do
|
|
206
200
|
sleep 0.1
|
|
207
|
-
|
|
201
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Waiting for socket to be created")
|
|
208
202
|
start_server_timeout!(start)
|
|
209
203
|
end
|
|
210
|
-
|
|
204
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Socket created: #{socket_path}")
|
|
211
205
|
|
|
212
206
|
until ping? do
|
|
213
|
-
|
|
207
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Waiting for successful server-response")
|
|
214
208
|
start_server_timeout!(start)
|
|
215
209
|
sleep 0.1
|
|
216
210
|
end
|
|
217
|
-
|
|
211
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Server responded successfully")
|
|
218
212
|
|
|
219
213
|
@helpers.cleanup_leftover_processes
|
|
220
214
|
end
|
|
@@ -223,7 +217,7 @@ module SvelteOnRails
|
|
|
223
217
|
|
|
224
218
|
marker = restart_marker_file
|
|
225
219
|
if File.exist?(marker) && File.mtime(marker) > 10.seconds.ago
|
|
226
|
-
SvelteOnRails::Lib::Utils.
|
|
220
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("[ERROR] Prevented Server Restart because server was restarted too recently: #{marker}")
|
|
227
221
|
return
|
|
228
222
|
end
|
|
229
223
|
|
|
@@ -233,7 +227,7 @@ module SvelteOnRails
|
|
|
233
227
|
|
|
234
228
|
msg = "Restarting SSR server (#{tag})"
|
|
235
229
|
Rails.logger.error(msg)
|
|
236
|
-
SvelteOnRails::Lib::Utils.
|
|
230
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("[ERROR] #{msg}")
|
|
237
231
|
|
|
238
232
|
@helpers.shutdown
|
|
239
233
|
begin
|
|
@@ -365,7 +359,7 @@ module SvelteOnRails
|
|
|
365
359
|
FileUtils.mkdir_p(dir)
|
|
366
360
|
FileUtils.chmod(0777, dir)
|
|
367
361
|
fallback = Pathname.new("#{dir}/#{@socket_namespace}-#{ppid}.sock")
|
|
368
|
-
|
|
362
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("sockets longer than 104 chars are risky, fallback to: #{fallback}")
|
|
369
363
|
fallback
|
|
370
364
|
end
|
|
371
365
|
|
|
@@ -405,13 +399,6 @@ module SvelteOnRails
|
|
|
405
399
|
File.delete(ssr_server_ppid_file) if File.exist?(ssr_server_ppid_file)
|
|
406
400
|
end
|
|
407
401
|
|
|
408
|
-
def start_server_log(start_time, msg)
|
|
409
|
-
line = start_time ? "[SOR] #{msg} (#{((Time.now - start_time) * 1000).round(1)}ms)" : "[SOR] #{msg}"
|
|
410
|
-
puts line
|
|
411
|
-
$stdout.flush
|
|
412
|
-
SvelteOnRails::Lib::Utils.secure_debug_log(line)
|
|
413
|
-
end
|
|
414
|
-
|
|
415
402
|
private
|
|
416
403
|
|
|
417
404
|
# Cluster mode: a primary + N workers share one socket path.
|
|
@@ -423,7 +410,7 @@ module SvelteOnRails
|
|
|
423
410
|
Process.kill("SIGINT", p.pid) rescue Errno::ESRCH || Errno::EPERM
|
|
424
411
|
end
|
|
425
412
|
|
|
426
|
-
|
|
413
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Killed #{processes.length} #{label} process#{'es' if processes.length != 1}")
|
|
427
414
|
end
|
|
428
415
|
|
|
429
416
|
def delete_sockets(socket_paths, label:)
|
|
@@ -435,7 +422,7 @@ module SvelteOnRails
|
|
|
435
422
|
# raced with primary's own cleanup — fine
|
|
436
423
|
end
|
|
437
424
|
|
|
438
|
-
|
|
425
|
+
SvelteOnRails::Lib::Utils.ssr_server_log("Deleted #{socket_paths.size} #{label} socket#{'s' if socket_paths.size != 1}")
|
|
439
426
|
end
|
|
440
427
|
|
|
441
428
|
# All running SSR processes matching our namespace (any ppid).
|