def _stop_server_all( self, req_d): ls = sys_def_mdl.get_system_defaults('local_settings', 'Master') branch = ls['branch'] self.app.logger.info("Stopping allworkers for the %s branch" % ( branch )) workers = wkr.get_active_workers(branch) workers = [json_prep( worker ) for worker in workers] launcher_config = sys_def_mdl.get_system_defaults( setting_name = 'launcher_config', component='Master' ) conn = boto.sqs.connect_to_region('us-east-1') lq = conn.create_queue( launcher_config['launcher_sqs_in'] ) worker_list = [] active_statuses = [wkr.READY, wkr.RUNNING] for worker in workers: if worker['status'] in active_statuses: launcher_message = {'action': 'stop-server', 'worker_id': worker['worker_id'], } worker_list.append( worker['worker_id'] ) mess = Message(body=json.dumps( launcher_message )) lq.write( mess ) msg = {'status': 'complete', 'data': [w['worker_id'] for w in workers] } status = 200 return ( msg, status )
def _activate_worker_all(self, req_d ): ls = sys_def_mdl.get_system_defaults('local_settings', 'Master') branch = ls['branch'] self.app.logger.info("GETting workers for the %s branch" % ( branch )) workers = wkr.get_active_workers(branch) workers = [json_prep( worker ) for worker in workers] worker_list = [] for worker in workers: if worker['status'] == 0: self._activate_single_worker( worker['worker_id'] ) worker_list.append( worker['worker_id'] ) msg = {'status':'complete', 'data' : worker_list } status = 200 return ( msg, status )
def _terminate_worker_all( self, req_d): ls = sys_def_mdl.get_system_defaults('local_settings', 'Master') branch = ls['branch'] self.app.logger.info("GETting workers for the %s branch" % ( branch )) workers = wkr.get_active_workers(branch) workers = [json_prep( worker ) for worker in workers] terminatable_statuses = [wkr.NA, wkr.CONFIG, wkr.READY, wkr.RUNNING, wkr.MARKED_FOR_TERMINATION] for worker in workers: if worker['status'] in terminatable_statuses: self._terminate_single_worker( worker['worker_id'] ) worker_list = [worker['worker_id'] for worker in workers] msg = {'status':'complete', 'data' : worker_list } status = 200 return ( msg, status )
def GET( self, request): if self.worker_id is None: #return active workers if request.args.get('branch'): branch = None else: ls = sys_def_mdl.get_system_defaults('local_settings', 'Master') branch = ls['branch'] self.app.logger.info("GETting workers for the %s branch" % ( branch )) workers = wkr.get_active_workers(branch) workers = [json_prep( worker ) for worker in workers] if workers: msg = { 'status' : 'complete', 'data' : workers } status = 200 else: msg = { 'status' : 'error', 'data' : [], 'message': 'No workers available' } status = 404 else: result = wkr.get_ANWorker( worker_id=self.worker_id ) if result: msg = {'status' : 'complete', 'data' : json_prep( result ) } status = 200 else: msg = {'status': 'error', 'data' : {'worker_id' : self.worker_id}, 'message' : 'Worker not found' } status = 404 return ( msg, status )