lib/fusuma.rb in fusuma-3.3.0 vs lib/fusuma.rb in fusuma-3.3.1
- old
+ new
@@ -1,13 +1,13 @@
# frozen_string_literal: true
-require_relative "./fusuma/version"
-require_relative "./fusuma/multi_logger"
-require_relative "./fusuma/config"
-require_relative "./fusuma/environment"
-require_relative "./fusuma/device"
-require_relative "./fusuma/plugin/manager"
+require_relative "fusuma/version"
+require_relative "fusuma/multi_logger"
+require_relative "fusuma/config"
+require_relative "fusuma/environment"
+require_relative "fusuma/device"
+require_relative "fusuma/plugin/manager"
# this is top level module
module Fusuma
# main class
class Runner
@@ -17,10 +17,14 @@
instance = new
instance.set_trap
## NOTE: Uncomment following line to measure performance
# instance.run_with_lineprof
instance.run
+ rescue => e
+ MultiLogger.error("Shutdown by error")
+ MultiLogger.error(e)
+ instance.send(:shutdown)
end
private
def read_options(option)
@@ -189,14 +193,14 @@
end
def set_trap
Signal.trap("INT") {
shutdown
- puts exit
+ exit
} # Trap ^C
Signal.trap("TERM") {
shutdown
- puts exit
+ exit
} # Trap `Kill `
end
private