Example #1
0
 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 )
Example #2
0
 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 )
Example #3
0
 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 )
Example #4
0
 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 )