Yoji Shidara
null+****@clear*****
Thu Feb 13 17:45:01 JST 2014
Yoji Shidara 2014-02-13 17:45:01 +0900 (Thu, 13 Feb 2014) New Revision: cd0ba76ff1923efaafe56331496be11d00af547c https://github.com/droonga/fluent-plugin-droonga/commit/cd0ba76ff1923efaafe56331496be11d00af547c Message: Handle errors during catalog load Modified files: lib/droonga/catalog_observer.rb Modified: lib/droonga/catalog_observer.rb (+13 -4) =================================================================== --- lib/droonga/catalog_observer.rb 2014-02-13 17:30:31 +0900 (8d0d9f3) +++ lib/droonga/catalog_observer.rb 2014-02-13 17:45:01 +0900 (2e9f0db) @@ -34,7 +34,11 @@ module Droonga @loop = Cool.io::Loop.new attach(@loop) @thread = Thread.new do - @loop.run + begin + @loop.run + rescue => error + $log.error "error in catalog observing thread", :error => error + end end end @@ -54,8 +58,12 @@ module Droonga def ensure_latest_catalog_loaded if catalog_updated? - load_catalog! - on_reload.call(catalog) if on_reload + begin + load_catalog! + on_reload.call(catalog) if on_reload + rescue Droonga::Error => error + $log.warn "failed to reload catalog", :path => @catalog_path, :error => error + end end end @@ -71,8 +79,9 @@ module Droonga def load_catalog! loader = CatalogLoader.new(@catalog_path) @catalog = loader.load - @catalog_mtime = File.mtime(@catalog_path) $log.info "catalog loaded", path: @catalog_path, mtime: @catalog_mtime + ensure + @catalog_mtime = File.mtime(@catalog_path) end end end -------------- next part -------------- HTML����������������������������...Download