class FluentdServer::CLI

Constants

BASE_DIR
CONFIGRU_FILE
CONFIG_DIR
DATA_DIR
DEFAULT_DOTENV
DEFAULT_PROCFILE
ENV_FILE
JOB_DIR
LOG_DIR
LOG_FILE
PROCFILE

Public Class Methods

new(args = [], opts = [], config = {}) click to toggle source
Calls superclass method
# File lib/fluentd_server/cli.rb, line 40
def initialize(args = [], opts = [], config = {})
  super(args, opts, config)
end

Public Instance Methods

abort(msg) click to toggle source
# File lib/fluentd_server/cli.rb, line 179
def abort(msg)
  $stderr.puts msg
  exit 1
end
init() click to toggle source
# File lib/fluentd_server/cli.rb, line 56
def init
  Dotenv.load
  require 'fluentd_server/environment'
  require 'rake'
  require 'sinatra/activerecord/rake'
  ActiveRecord::Tasks::DatabaseTasks.db_dir = File.expand_path("../../../db", __FILE__)
  ActiveRecord::Tasks::DatabaseTasks.migrations_paths = [File.expand_path("../../../db/migrate", __FILE__)]
  # ToDo: Fix that db:migrate raises an error in the case of sqlite3 like
  # SQLite3::SQLException: database schema has changed: INSERT INTO "schema_migrations" ("version") VALUES (?)
  # Rake::Task['db:migrate'].invoke
  # Use db:schema:load after generating db/schema.rb by executing db:migrate several times for now
  Rake::Task['db:schema:load'].invoke
  puts 'fluentd-server init finished.'
end
job_clean() click to toggle source
# File lib/fluentd_server/cli.rb, line 105
def job_clean
  Dotenv.load
  require 'delayed_job'
  require 'fluentd_server/model'
  Delayed::Job.delete_all
end
job_worker() click to toggle source
# File lib/fluentd_server/cli.rb, line 91
def job_worker
  Dotenv.load
  require 'delayed_job'
  require 'fluentd_server/model'
  worker_options = {
    :min_priority => ENV['MIN_PRIORITY'],
    :max_priority => ENV['MAX_PRIORITY'],
    :queues => (ENV['QUEUES'] || ENV['QUEUE'] || '').split(','),
    :quiet => false
  }
  Delayed::Worker.new(worker_options).start
end
migrate() click to toggle source
# File lib/fluentd_server/cli.rb, line 72
def migrate
  Dotenv.load
  require 'fluentd_server/environment'
  require 'rake'
  require 'sinatra/activerecord/rake'
  ActiveRecord::Tasks::DatabaseTasks.db_dir = File.expand_path("../../../db", __FILE__)
  ActiveRecord::Tasks::DatabaseTasks.migrations_paths = [File.expand_path("../../../db/migrate", __FILE__)]
  Rake::Task['db:migrate'].invoke
end
new() click to toggle source
# File lib/fluentd_server/cli.rb, line 45
def new
  FileUtils.mkdir_p(LOG_DIR)
  FileUtils.mkdir_p(JOB_DIR)
  File.write ENV_FILE, DEFAULT_DOTENV
  File.write PROCFILE, DEFAULT_PROCFILE
  FileUtils.cp(File.expand_path("../../../config.ru", __FILE__), CONFIGRU_FILE)
  FileUtils.cp_r(File.expand_path("../../../config", __FILE__), CONFIG_DIR)
  puts 'fluentd-server new finished.'
end
start() click to toggle source
# File lib/fluentd_server/cli.rb, line 83
def start
  self.migrate # do migration before start not to forget on updation
  require "foreman/cli"
  Foreman::CLI.new.invoke(:start, [], {})
end
sync() click to toggle source
# File lib/fluentd_server/cli.rb, line 120
def sync
  Dotenv.load
  require 'fluentd_server/sync_runner'
  FluentdServer::SyncRunner.run
end
sync_worker() click to toggle source
# File lib/fluentd_server/cli.rb, line 113
def sync_worker
  Dotenv.load
  require 'fluentd_server/sync_worker'
  FluentdServer::SyncWorker.start
end
td_agent_condrestart() click to toggle source
# File lib/fluentd_server/cli.rb, line 156
def td_agent_condrestart
  Dotenv.load
  require 'fluentd_server/model'
  system("#{::Task.serf_path} event td-agent-condrestart")
end
td_agent_configtest() click to toggle source
# File lib/fluentd_server/cli.rb, line 171
def td_agent_configtest
  Dotenv.load
  require 'fluentd_server/model'
  # ::Task.create_and_delete(name: 'Configtest').configtest # using delayed_job
  system("#{::Task.serf_path} query td-agent-configtest")
end
td_agent_reload() click to toggle source
# File lib/fluentd_server/cli.rb, line 141
def td_agent_reload
  Dotenv.load
  require 'fluentd_server/model'
  system("#{::Task.serf_path} event td-agent-reload")
end
td_agent_restart() click to toggle source
# File lib/fluentd_server/cli.rb, line 148
def td_agent_restart
  Dotenv.load
  require 'fluentd_server/model'
  # ::Task.create_and_delete(name: 'Restart').restart # using delayed_job
  system("#{::Task.serf_path} event td-agent-restart")
end
td_agent_start() click to toggle source
# File lib/fluentd_server/cli.rb, line 127
def td_agent_start
  Dotenv.load
  require 'fluentd_server/model'
  system("#{::Task.serf_path} event td-agent-start")
end
td_agent_status() click to toggle source
# File lib/fluentd_server/cli.rb, line 163
def td_agent_status
  Dotenv.load
  require 'fluentd_server/model'
  # ::Task.create_and_delete(name: 'Status').status # using delayed_job
  system("#{::Task.serf_path} query td-agent-status")
end
td_agent_stop() click to toggle source
# File lib/fluentd_server/cli.rb, line 134
def td_agent_stop
  Dotenv.load
  require 'fluentd_server/model'
  system("#{::Task.serf_path} event td-agent-stop")
end