class FluentdService
Public Class Methods
new(service_name)
click to toggle source
# File lib/fluent/winsvc.rb, line 59 def initialize(service_name) @service_name = service_name end
Public Instance Methods
service_main()
click to toggle source
# File lib/fluent/winsvc.rb, line 63 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 77 def service_paramchange set_event("#{@service_name}_USR2") end
service_stop()
click to toggle source
# File lib/fluent/winsvc.rb, line 70 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 81 def service_user_defined_control(code) case code when 128 set_event("#{@service_name}_HUP") when 129 set_event("#{@service_name}_USR1") end end
Private Instance Methods
set_event(event_name)
click to toggle source
# File lib/fluent/winsvc.rb, line 92 def set_event(event_name) ev = Win32::Event.open(event_name) ev.set ev.close end