class TasksScheduler::Daemon

Constants

ACTIONS

Public Class Methods

daemon_command(action) click to toggle source
# File lib/tasks_scheduler/daemon.rb, line 10
def daemon_command(action)
  raise "Action not allowed: #{action} (Allowed: #{ACTIONS})" unless ACTIONS.include?(action)

  ::TasksScheduler::AppGem.instance.bundle('exec', 'tasks_scheduler', action)
                          .envvar(::TasksScheduler::Checker::LOG_ON_FILE_ENV_KEY, '1')
end
env_args_to_s(command) click to toggle source
# File lib/tasks_scheduler/daemon.rb, line 31
def env_args_to_s(command)
  command.send(:extra_options).fetch(:envvars).map { |k, v| "#{k}=#{v}" }.join(' | ')
end
execute(action) click to toggle source
# File lib/tasks_scheduler/daemon.rb, line 17
def execute(action)
  command = daemon_command(action)
  result = command.execute
  {
    action: action, env_args: env_args_to_s(command), command: command.to_s,
    status: result.fetch(:exit_code), stdout: result.fetch(:stdout),
    stderr: result.fetch(:stderr)
  }
end
running?() click to toggle source
# File lib/tasks_scheduler/daemon.rb, line 27
def running?
  execute('status')[:status].zero?
end