module TaskRunner
included by class Task
Public Class Methods
included(klass)
click to toggle source
# File lib/fluentd_server/task_runner.rb, line 3 def self.included(klass) require 'fileutils' klass.extend(ClassMethods) end
Public Instance Methods
before(job)
click to toggle source
delayed_job hooks
# File lib/fluentd_server/task_runner.rb, line 42 def before(job) @job = job end
configtest()
click to toggle source
# File lib/fluentd_server/task_runner.rb, line 28 def configtest system(write_query_header('configtest')) self.delay.delayed_configtest end
delayed_configtest()
click to toggle source
# File lib/fluentd_server/task_runner.rb, line 33 def delayed_configtest cmd = serf_query('configtest') logger.debug "run #{cmd}" self.exit_code = system(cmd) self.save! end
delayed_status()
click to toggle source
# File lib/fluentd_server/task_runner.rb, line 21 def delayed_status cmd = serf_query('status') logger.debug "run #{cmd}" self.exit_code = system(cmd) self.save! end
failure()
click to toggle source
# File lib/fluentd_server/task_runner.rb, line 46 def failure logger.warn "job #{@job.attributes} failed" end
restart()
click to toggle source
# File lib/fluentd_server/task_runner.rb, line 8 def restart system(write_event_header('restart')) cmd = serf_event('restart') logger.debug "run #{cmd}" self.exit_code = system(cmd) self.save! end
serf_event(cmd)
click to toggle source
serf event works asynchronously, so it does not take time
# File lib/fluentd_server/task_runner.rb, line 61 def serf_event(cmd) "#{self.class.serf_path} event td-agent-#{cmd} >> #{self.filename} 2>&1" end
serf_query(cmd)
click to toggle source
serf query works synchronously, so it takes time
# File lib/fluentd_server/task_runner.rb, line 66 def serf_query(cmd) "#{self.class.serf_path} query td-agent-#{cmd} >> #{self.filename} 2>&1" end
status()
click to toggle source
# File lib/fluentd_server/task_runner.rb, line 16 def status system(write_query_header('status')) self.delay.delayed_status end
write_event_header(cmd)
click to toggle source
helpers
# File lib/fluentd_server/task_runner.rb, line 52 def write_event_header(cmd) "echo '$ serf event td-agent-#{cmd}' > #{self.filename}" end
write_query_header(cmd)
click to toggle source
# File lib/fluentd_server/task_runner.rb, line 56 def write_query_header(cmd) "echo '$ serf query td-agent-#{cmd}' > #{self.filename}" end