class Capistrano::ForemanExport::Backend::Supervisord

Public Class Methods

new(task) click to toggle source
# File lib/capistrano/foreman_export/backend/supervisord.rb, line 10
def initialize(task)
  @task = task
end

Public Instance Methods

add_or_update_app() click to toggle source
# File lib/capistrano/foreman_export/backend/supervisord.rb, line 36
def add_or_update_app
  status = supervisord_reread
  if status.include?("#{app_name}:")
    if status.include?('changed')
      @task.info("Configration changed, update it.")
      @task.execute(:sudo, "supervisorctl update #{app_name}")
    elsif status.include?('available')
      @task.info("Configration available, add it.")
      @task.execute(:sudo, "supervisorctl add #{app_name}")
    end
  end
end
app_name() click to toggle source
# File lib/capistrano/foreman_export/backend/supervisord.rb, line 18
def app_name
  @task.fetch(:foreman_app)
end
name() click to toggle source
# File lib/capistrano/foreman_export/backend/supervisord.rb, line 14
def name
  "supervisord"
end
restart_cmd() click to toggle source
# File lib/capistrano/foreman_export/backend/supervisord.rb, line 31
def restart_cmd
  add_or_update_app
  @task.execute(:sudo, "supervisorctl restart #{app_name}:*")
end
start_cmd() click to toggle source
# File lib/capistrano/foreman_export/backend/supervisord.rb, line 22
def start_cmd
  add_or_update_app
  @task.execute(:sudo, "supervisorctl start #{app_name}:*")
end
stop_cmd() click to toggle source
# File lib/capistrano/foreman_export/backend/supervisord.rb, line 27
def stop_cmd
  @task.execute(:sudo, "supervisorctl stop #{app_name}:*")
end
supervisord_reread() click to toggle source
# File lib/capistrano/foreman_export/backend/supervisord.rb, line 49
def supervisord_reread
  @task.capture(:sudo, %{supervisorctl reread})
end