def prepare_dns_status(): ''' (dns_name, dns_is_online) ''' pool = ec2_pool.get_worker_pool() dns_name = pool.get_load_balancer_dns_name() dns_is_online = False try: r = requests.head('http://' + dns_name, timeout=5) if r.status_code == 200: dns_is_online = True except Exception: pass return (dns_name, dns_is_online)
return average_cpu_util_for_instance def get_http_request_count_for_registered_instances(self): instances_data_points = {} for instance_id in self._pool.get_registered_instances_ids(): instances_data_points[ instance_id] = self._api.get_http_request_per_minute_count([{ 'Name': 'InstanceId', 'Value': instance_id }])['Datapoints'] return instances_data_points def get_number_of_running_workers_in_pool(self): work_count = 0 health_status = self._pool.get_registered_instances_health_status() for instance_id in health_status: if (health_status[instance_id] in self._pool.get_working_status()): work_count += 1 return work_count helper = PoolMonitoringHelper(ec2_pool.get_worker_pool()) def get_monitor_helper(): return helper
downsized_count = math.floor(worker_count * self._shrinking_ratio) if (downsized_count < min_required_worker): downsized_count = min_required_worker self._pool.decrease_pool_by_size(worker_count - downsized_count) self._next_pool_size = downsized_count return True def desired_worker_num_reached(self): return self._pool_monitor_helper.get_number_of_running_workers_in_pool( ) == self._next_pool_size def toggle_scaler(self): if (self._running): self._state_manager = None self._running = not self._running else: self._state_manager = auto_scaler_state_manager.ScalerStateManager( self, self._pool_monitor_helper) self._running = not self._running helper = pool_monitor_helper.get_monitor_helper() pool = ec2_pool.get_worker_pool() auto_scaler = AutoScaler(helper, pool) def get_auto_scaler(): return auto_scaler
def decrease_pool_handler(num=1): pool = ec2_pool.get_worker_pool() pool.decrease_pool_by_size(num) return redirect('/')
def prepare_instance_status_info(): pool = ec2_pool.get_worker_pool() instances_status_counts = {} return pool.get_registered_instances_health_status()