class Adminix::Services::AppService
Attributes
service[R]
Public Class Methods
new(service)
click to toggle source
# File lib/adminix/services/app_service.rb, line 6 def initialize(service) @service = service end
Public Instance Methods
allow_sending_logs()
click to toggle source
# File lib/adminix/services/app_service.rb, line 45 def allow_sending_logs @service.allow_sending_logs end
allow_sending_system_load()
click to toggle source
# File lib/adminix/services/app_service.rb, line 49 def allow_sending_system_load @service.allow_sending_system_load end
download_source()
click to toggle source
# File lib/adminix/services/app_service.rb, line 102 def download_source read_vars list = @service.variables repo_var = list.find { |v| v.key == 'git_repo' } branch_var = list.find { |v| v.key == 'git_branch' } if repo_var && repo_var.value && branch_var Helpers::Command.git_clone(repo_var.value, branch_var.value) else puts 'Please define your GIT repository and branch' end end
read_local_vars()
click to toggle source
# File lib/adminix/services/app_service.rb, line 121 def read_local_vars vars_file_path = Adminix.config.config_file('vars') return unless File.exist?(vars_file_path) vars = Helpers::Files.read_yaml_file(vars_file_path) vars.each do |k, v| @service.add_variable Entities::Variable.new(key: k, value: v) end end
read_remote_vars()
click to toggle source
# File lib/adminix/services/app_service.rb, line 131 def read_remote_vars Entities::Variable.all(@service).each { |v| @service.add_variable(v) } end
read_vars()
click to toggle source
# File lib/adminix/services/app_service.rb, line 115 def read_vars read_local_vars read_remote_vars write_local_vars end
restart_process()
click to toggle source
# File lib/adminix/services/app_service.rb, line 83 def restart_process Adminix.logger.info 'Restarting process' stop_process _, out = start_process [true, out] end
run_jobs()
click to toggle source
# File lib/adminix/services/app_service.rb, line 41 def run_jobs @service.new_jobs[0..1].each(&:perform) end
start_process()
click to toggle source
# File lib/adminix/services/app_service.rb, line 72 def start_process Adminix.logger.info 'Starting process' out = Helpers::Command.run_system_command( Adminix.config.scripts[:start_process] ) service.define_performed_action(:process_stopped, false) service.define_performed_action(:process_started, true) [true, out] end
stop_process()
click to toggle source
# File lib/adminix/services/app_service.rb, line 91 def stop_process Adminix.logger.info 'Stopping process' out = Helpers::Command.run_system_command( Adminix.config.scripts[:stop_process] ) service.define_performed_action(:process_started, false) service.define_performed_action(:process_stopped, true) [true, out] end
sync()
click to toggle source
# File lib/adminix/services/app_service.rb, line 10 def sync return if !Adminix.config.credentials_defined? || @service.locked? service.lock payload = service.sync_payload success, result = Helpers::NetHTTP.post( "services/#{service.id}/sync_device", payload ) unless success service.unlock return end service.reset_performed_actions service.remove_completed_jobs service.clean_sent_logs service.clean_load_stamps service.add_new_jobs(result['jobs']) upgrade_watcher if result['upgrade_watcher'] == true start_process if result['start_process'] == true stop_process if result['stop_process'] == true restart_process if result['restart_process'] == true update_process if result['update_process'] == true service.unlock # rescue => e # service.unclock end
update_process()
click to toggle source
# File lib/adminix/services/app_service.rb, line 62 def update_process Adminix.logger.info 'Updating process' out = Helpers::Command.run_system_command( Adminix.config.scripts[:update_process] ) service.define_performed_action(:process_updated, true) [true, out] end
upgrade_watcher()
click to toggle source
# File lib/adminix/services/app_service.rb, line 53 def upgrade_watcher Adminix.logger.info 'Upgrading watcher' out = Helpers::Command.run_system_command( Adminix.config.scripts[:upgrade_watcher] ) [true, out] end
write_local_vars()
click to toggle source
# File lib/adminix/services/app_service.rb, line 135 def write_local_vars vars_file_path = Adminix.config.config_file('vars') data = {} @service.variables.each { |v| data[v.key] = v.value } Helpers::Files.write_yaml_file(vars_file_path, data) end