Module: TaskRunner
- Included in:
- Task
- Defined in:
- lib/fluentd_server/task_runner.rb
Overview
included by class Task
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
-
#before(job) ⇒ Object
delayed_job hooks.
- #configtest ⇒ Object
- #delayed_configtest ⇒ Object
- #delayed_status ⇒ Object
- #failure ⇒ Object
- #restart ⇒ Object
-
#serf_event(cmd) ⇒ Object
serf event works asynchronously, so it does not take time.
-
#serf_query(cmd) ⇒ Object
serf query works synchronously, so it takes time.
- #status ⇒ Object
-
#write_event_header(cmd) ⇒ Object
helpers.
- #write_query_header(cmd) ⇒ Object
Class Method Details
.included(klass) ⇒ Object
3 4 5 6 |
# File 'lib/fluentd_server/task_runner.rb', line 3 def self.included(klass) require 'fileutils' klass.extend(ClassMethods) end |
Instance Method Details
#before(job) ⇒ Object
delayed_job hooks
42 43 44 |
# File 'lib/fluentd_server/task_runner.rb', line 42 def before(job) @job = job end |
#configtest ⇒ Object
28 29 30 31 |
# File 'lib/fluentd_server/task_runner.rb', line 28 def configtest system(write_query_header('configtest')) self.delay.delayed_configtest end |
#delayed_configtest ⇒ Object
33 34 35 36 37 38 |
# 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 ⇒ Object
21 22 23 24 25 26 |
# 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 ⇒ Object
46 47 48 |
# File 'lib/fluentd_server/task_runner.rb', line 46 def failure logger.warn "job #{@job.attributes} failed" end |
#restart ⇒ Object
8 9 10 11 12 13 14 |
# 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) ⇒ Object
serf event works asynchronously, so it does not take time
61 62 63 |
# 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) ⇒ Object
serf query works synchronously, so it takes time
66 67 68 |
# 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 ⇒ Object
16 17 18 19 |
# 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) ⇒ Object
helpers
52 53 54 |
# 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) ⇒ Object
56 57 58 |
# File 'lib/fluentd_server/task_runner.rb', line 56 def write_query_header(cmd) "echo '$ serf query td-agent-#{cmd}' > #{self.filename}" end |