class FluentdService
Public Class Methods
new(service_name)
click to toggle source
# File lib/fluent/winsvc.rb, line 54 def initialize(service_name) @service_name = service_name end
Public Instance Methods
service_main()
click to toggle source
# File lib/fluent/winsvc.rb, line 58 def service_main @pid = service_main_start(@service_name) while running? sleep 10 end end
service_paramchange()
click to toggle source
# File lib/fluent/winsvc.rb, line 72 def service_paramchange set_event("#{@service_name}_USR2") end
service_stop()
click to toggle source
# File lib/fluent/winsvc.rb, line 65 def service_stop set_event(@service_name) if @pid > 0 Process.waitpid(@pid) end end
service_user_defined_control(code)
click to toggle source
# File lib/fluent/winsvc.rb, line 76 def service_user_defined_control(code) case code when 128 set_event("#{@service_name}_HUP") when 129 set_event("#{@service_name}_USR1") when 130 set_event("#{@service_name}_CONT") end end
Private Instance Methods
set_event(event_name)
click to toggle source
# File lib/fluent/winsvc.rb, line 89 def set_event(event_name) ev = Win32::Event.open(event_name) ev.set ev.close end