def _msg_create_ask_me(self): a_msg = claude_msgs_pb2.Msg() a_msg.type = 2 (msg, msg_type_name) = form_message(a_msg) msg_bytes = a_msg.SerializeToString() self.producer_app_monitor.put(msg_bytes)
def _msg_create_job_exists(self, jid, returnqueue, returnip): a_msg = claude_msgs_pb2.Msg() a_msg.type = 11 (msg, msg_type_name) = form_message(a_msg) msg.jid = jid msg_bytes = a_msg.SerializeToString() producer = Producer(returnqueue, host=returnip) producer.put(msg_bytes)
def _msg_create_job_finished(self, job): a_msg = claude_msgs_pb2.Msg() a_msg.type = 10 (msg, msg_type_name) = form_message(a_msg) msg.jid = job.jid if job.state == job_states.FAILED: msg.errorcode = 1 if job.systemoutput: msg.systemoutput = job.systemoutput if job.durationoutput: msg.durationoutput = job.durationoutput msg_bytes = a_msg.SerializeToString() producer = Producer(job.returnqueue, host=job.returnip) producer.put(msg_bytes)
def _playApp(self, app): if app.interface_bits == AppState.bits['NEW']: a_msg = claude_msgs_pb2.Msg() a_msg.type = 4 (msg, msg_type_name) = form_message(a_msg) msg.jid = app.app_id msg.rresources.ram = 1 msg.rresources.cpu = 1 msg.rresources.disk = 1 msg.script = 'grokhgs' msg.returnip = 'localhost' msg.returnqueue = settings.WEB_INTERFACE_QUEUE msg.s3cfg = True msg.keepworkingdir = True param = msg.params.add() param.key = 'app_input' param.value = '' param = msg.params.add() param.key = 'app_output' param.value = '' #msg_bytes = a_msg.SerializeToString() #producer = Producer(returnqueue, host=returnip) #producer.put(msg_bytes) '''message = messaging.createMessage( 'create_app', return_queue=settings.WEB_INTERFACE_QUEUE, web_interface_id=app.app_id, app_type=app.app_type, app_params=json.loads(app.app_params), ) producerAppManager.publish(message) app.interface_bits = AppState.bits['STARTING'] app.save()''' '''message = messaging.createMessage(
def _check_queue(self): ret = False msg_bytes = self.consumer.get() if msg_bytes: ret = True a_msg = claude_msgs_pb2.Msg() a_msg.ParseFromString(msg_bytes) (msg, msg_type_name) = form_message(a_msg) if a_msg.type == 3: self._msg_handler_add_resource(msg) elif a_msg.type == 4: self._msg_handler_add_job(msg) elif a_msg.type == 6: self._msg_handler_req_apps_to_monitor(msg) elif a_msg.type == 8: self._msg_handler_finished_apps(msg) elif a_msg.type == 9: self._msg_handler_kill_job(msg) return ret
def _msg_handler_req_apps_to_monitor(self, msg): running_jobs = self.job_manager.get_jobs_in_state(job_states.RUNNING) if len(running_jobs) > 0: a_msg = claude_msgs_pb2.Msg() a_msg.type = 7 (msg, msg_type_name) = form_message(a_msg) for running_job in running_jobs: try: resource = self.res_manager.get_resource_by_rid(running_job.rid) job = msg.jobs.add() job.jid = running_job.jid job.host = resource.host job.credentials.username = resource.credentials.username job.credentials.password = resource.credentials.password job.credentials.proxy_host = resource.credentials.proxy_host job.credentials.proxy_username = resource.credentials.proxy_username job.pid = running_job.pid except CLAUDEResourceDoesNotExist: logger.error('Something is terribly wrong with the system...', exc_info=True) msg_bytes = a_msg.SerializeToString() self.producer_app_monitor.put(msg_bytes)