svelte-on-rails 22.0.1 → 22.0.3
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 +4 -0
- data/lib/svelte_on_rails/ssr_server.rb +33 -19
- 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: 89170a8dfaf49bc474ff1edfd3ba74a78d64dd54af2913cd29cbfd754b06c394
|
|
4
|
+
data.tar.gz: adf0042767c8fd3449d5c1ffcc015e15de6f5240fb2af5a7c3245ec6f718e1cf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d81f67a3ece83223ba30d35cbda6f070179ec9f7dccc85d6957a410c781dac760e83fd72e3b93781135eb1a080ec6e2f19c6789cff11e2b10d223cc4ea843822
|
|
7
|
+
data.tar.gz: e2ab8b1d993c31c743fe35929e6a6efd5ffc364f684264c70e3d9a6b2a3a5304c584d2fe959b759f542396b5c0b76d07acc5af8e5a1883c07cba970b2cd014f0
|
|
@@ -24,6 +24,7 @@ module SvelteOnRails
|
|
|
24
24
|
SvelteOnRails::Lib::Utils.secure_debug_log("SOR Server initialize called")
|
|
25
25
|
|
|
26
26
|
@helpers = SsrServerHelpers.new
|
|
27
|
+
@helpers.logfile.delete if @helpers.logfile.exist?
|
|
27
28
|
|
|
28
29
|
@logfile_path = Rails.root.join("log/svelte-ssr-server-#{Rails.env}.log")
|
|
29
30
|
@logfile_max_lines = build_logfile_max_lines
|
|
@@ -168,9 +169,13 @@ module SvelteOnRails
|
|
|
168
169
|
end
|
|
169
170
|
end
|
|
170
171
|
|
|
171
|
-
def start_node_server!(
|
|
172
|
+
def start_node_server!(
|
|
173
|
+
started_by = "rails-boot-#{Rails.env}-#{Process.ppid}",
|
|
174
|
+
restart_after_failure: false
|
|
175
|
+
)
|
|
172
176
|
|
|
173
|
-
|
|
177
|
+
@helpers.secure_log("test log")
|
|
178
|
+
SvelteOnRails::Lib::Utils.secure_debug_log("SOR start_node_server! called") if restart_after_failure
|
|
174
179
|
|
|
175
180
|
# notice ppid
|
|
176
181
|
FileUtils.mkdir_p(@helpers.ssr_server_ppid_file.dirname)
|
|
@@ -190,28 +195,28 @@ module SvelteOnRails
|
|
|
190
195
|
status: status
|
|
191
196
|
}
|
|
192
197
|
end
|
|
193
|
-
@helpers.
|
|
194
|
-
@helpers.
|
|
198
|
+
@helpers.secure_log("Node Version: #{Configuration.instance.node_version_test}, package version: #{Configuration.instance.npm_package_version_test}")
|
|
199
|
+
@helpers.secure_log("Start running Svelte-SSR-Server... (#{started_by})")
|
|
195
200
|
|
|
196
201
|
until node_server_pid do
|
|
197
202
|
sleep 0.12
|
|
198
|
-
@helpers.
|
|
203
|
+
@helpers.secure_log("Waiting for node server process-id")
|
|
199
204
|
start_server_timeout!(start)
|
|
200
205
|
end
|
|
201
206
|
|
|
202
207
|
until File.exist?(socket_path) do
|
|
203
208
|
sleep 0.1
|
|
204
|
-
@helpers.
|
|
209
|
+
@helpers.secure_log("Waiting for socket to be created")
|
|
205
210
|
start_server_timeout!(start)
|
|
206
211
|
end
|
|
207
|
-
@helpers.
|
|
212
|
+
@helpers.secure_log("Socket created: #{socket_path}")
|
|
208
213
|
|
|
209
214
|
until ping? do
|
|
210
|
-
@helpers.
|
|
215
|
+
@helpers.secure_log("Waiting for successful server-response")
|
|
211
216
|
start_server_timeout!(start)
|
|
212
217
|
sleep 0.1
|
|
213
218
|
end
|
|
214
|
-
@helpers.
|
|
219
|
+
@helpers.secure_log("Server responded successfully")
|
|
215
220
|
|
|
216
221
|
@helpers.cleanup_leftover_processes
|
|
217
222
|
end
|
|
@@ -219,7 +224,10 @@ module SvelteOnRails
|
|
|
219
224
|
def restart_my_server(tag = nil)
|
|
220
225
|
|
|
221
226
|
marker = restart_marker_file
|
|
222
|
-
|
|
227
|
+
if File.exist?(marker) && File.mtime(marker) > 10.seconds.ago
|
|
228
|
+
SvelteOnRails::Lib::Utils.secure_debug_log("[ERROR] Prevented Server Restart because server was restarted too recently: #{marker}")
|
|
229
|
+
return
|
|
230
|
+
end
|
|
223
231
|
|
|
224
232
|
FileUtils.mkdir_p(marker.dirname)
|
|
225
233
|
File.open(marker, "a") { |f| f.puts(Time.now.utc.iso8601) }
|
|
@@ -231,7 +239,7 @@ module SvelteOnRails
|
|
|
231
239
|
|
|
232
240
|
@helpers.shutdown
|
|
233
241
|
begin
|
|
234
|
-
start_node_server!("#{tag.gsub(' ', '-') + '-' if tag}#{count}")
|
|
242
|
+
start_node_server!("#{tag.gsub(' ', '-') + '-' if tag}#{count}", restart_after_failure: true)
|
|
235
243
|
rescue
|
|
236
244
|
end
|
|
237
245
|
end
|
|
@@ -359,7 +367,7 @@ module SvelteOnRails
|
|
|
359
367
|
FileUtils.mkdir_p(dir)
|
|
360
368
|
FileUtils.chmod(0777, dir)
|
|
361
369
|
fallback = Pathname.new("#{dir}/#{@socket_namespace}-#{ppid}.sock")
|
|
362
|
-
|
|
370
|
+
secure_log("sockets longer than 104 chars are risky, fallback to: #{fallback}")
|
|
363
371
|
fallback
|
|
364
372
|
end
|
|
365
373
|
|
|
@@ -399,11 +407,17 @@ module SvelteOnRails
|
|
|
399
407
|
File.delete(ssr_server_ppid_file) if File.exist?(ssr_server_ppid_file)
|
|
400
408
|
end
|
|
401
409
|
|
|
402
|
-
def
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
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")
|
|
407
421
|
end
|
|
408
422
|
|
|
409
423
|
private
|
|
@@ -417,7 +431,7 @@ module SvelteOnRails
|
|
|
417
431
|
Process.kill("SIGINT", p.pid) rescue Errno::ESRCH || Errno::EPERM
|
|
418
432
|
end
|
|
419
433
|
|
|
420
|
-
|
|
434
|
+
secure_log("Killed #{processes.length} #{label} process#{'es' if processes.length != 1}")
|
|
421
435
|
end
|
|
422
436
|
|
|
423
437
|
def delete_sockets(socket_paths, label:)
|
|
@@ -429,7 +443,7 @@ module SvelteOnRails
|
|
|
429
443
|
# raced with primary's own cleanup — fine
|
|
430
444
|
end
|
|
431
445
|
|
|
432
|
-
|
|
446
|
+
secure_log("Deleted #{socket_paths.size} #{label} socket#{'s' if socket_paths.size != 1}")
|
|
433
447
|
end
|
|
434
448
|
|
|
435
449
|
# All running SSR processes matching our namespace (any ppid).
|