Fixed being killed by systemd for not flushing block buffer in time.

This commit is contained in:
2026-06-07 12:20:46 +08:00
parent 777c8b2021
commit 5cbbe8213b
2 changed files with 14 additions and 2 deletions
+12 -2
View File
@@ -4,8 +4,18 @@
# time: 2026-06-07 # time: 2026-06-07
# license: All rights received. # license: All rights received.
require_relative 'server_status_detector' # main.rb 顶部添加
begin
# 原有代码
rescue => e
# 强制输出到stderr
$stderr.puts "[CRITICAL] Unhandled exception: #{e.message}"
$stderr.puts e.backtrace.join("\n")
exit 1
end
require_relative 'method_executor' # 日志系统在此时初始化 require_relative 'method_executor' # 日志系统在此时初始化
require_relative 'server_status_detector'
MethodExecutor.record("info", "mainloop", "MineSentinel started, entering mainloop.") MethodExecutor.record("info", "mainloop", "MineSentinel started, entering mainloop.")
@@ -30,6 +40,6 @@ end
while true while true
sleep 10 sleep 1.5
main main
end end
+2
View File
@@ -16,6 +16,8 @@ class MethodExecutor
@@rst_counter = 0 @@rst_counter = 0
# Initialize the standard log system. # Initialize the standard log system.
@@logger = Logger.new(STDOUT) # This script will be launched as a systemd server. @@logger = Logger.new(STDOUT) # This script will be launched as a systemd server.
STDOUT.sync = true
STDERR.sync = true
# Fetch the environmental variable and convert it into log level. # Fetch the environmental variable and convert it into log level.
@@logger.level = case ENV["LOG_LEVEL"] # @为单个实例(半生不熟的概念,貌似是在不同的空间独立创建),@@为共享同一个 @@logger.level = case ENV["LOG_LEVEL"] # @为单个实例(半生不熟的概念,貌似是在不同的空间独立创建),@@为共享同一个
when nil # Default config. when nil # Default config.