Fixed being killed by systemd for not flushing block buffer in time.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user