Class: Adminix::Services::AppService
- Inherits:
-
Object
- Object
- Adminix::Services::AppService
- Defined in:
- lib/adminix/services/app_service.rb
Instance Attribute Summary collapse
-
#service ⇒ Object
readonly
Returns the value of attribute service.
Instance Method Summary collapse
- #allow_sending_logs ⇒ Object
- #allow_sending_system_load ⇒ Object
- #download_source ⇒ Object
-
#initialize(service) ⇒ AppService
constructor
A new instance of AppService.
- #read_local_vars ⇒ Object
- #read_remote_vars ⇒ Object
- #read_vars ⇒ Object
- #restart_process ⇒ Object
- #run_jobs ⇒ Object
- #start_process ⇒ Object
- #stop_process ⇒ Object
- #sync ⇒ Object
- #update_process ⇒ Object
- #upgrade_watcher ⇒ Object
- #write_local_vars ⇒ Object
Constructor Details
#initialize(service) ⇒ AppService
Returns a new instance of AppService.
6 7 8 |
# File 'lib/adminix/services/app_service.rb', line 6 def initialize(service) @service = service end |
Instance Attribute Details
#service ⇒ Object (readonly)
Returns the value of attribute service.
4 5 6 |
# File 'lib/adminix/services/app_service.rb', line 4 def service @service end |
Instance Method Details
#allow_sending_logs ⇒ Object
45 46 47 |
# File 'lib/adminix/services/app_service.rb', line 45 def allow_sending_logs @service.allow_sending_logs end |
#allow_sending_system_load ⇒ Object
49 50 51 |
# File 'lib/adminix/services/app_service.rb', line 49 def allow_sending_system_load @service.allow_sending_system_load end |
#download_source ⇒ Object
102 103 104 105 106 107 108 109 110 111 112 113 |
# 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 ⇒ Object
121 122 123 124 125 126 127 128 129 |
# 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 ⇒ Object
131 132 133 |
# 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 ⇒ Object
115 116 117 118 119 |
# File 'lib/adminix/services/app_service.rb', line 115 def read_vars read_local_vars read_remote_vars write_local_vars end |
#restart_process ⇒ Object
83 84 85 86 87 88 89 |
# 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 ⇒ Object
41 42 43 |
# File 'lib/adminix/services/app_service.rb', line 41 def run_jobs @service.new_jobs[0..1].each(&:perform) end |
#start_process ⇒ Object
72 73 74 75 76 77 78 79 80 81 |
# 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 ⇒ Object
91 92 93 94 95 96 97 98 99 100 |
# 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 ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# 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 ⇒ Object
62 63 64 65 66 67 68 69 70 |
# 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 ⇒ Object
53 54 55 56 57 58 59 60 |
# 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 ⇒ Object
135 136 137 138 139 140 |
# 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 |