示例#1
0
 def GetWorkflow(self, request, context):
     try:
         return self._server.get_workflow(request, context)
     except UnauthorizedException as e:
         return service_pb2.GetWorkflowResponse(status=common_pb2.Status(
             code=common_pb2.STATUS_UNAUTHORIZED, msg=repr(e)))
     except Exception as e:
         logging.error('GetWorkflow rpc server error: %s', repr(e))
         return service_pb2.GetWorkflowResponse(status=common_pb2.Status(
             code=common_pb2.STATUS_UNKNOWN_ERROR, msg=repr(e)))
示例#2
0
 def get_workflow(self, request):
     with self._app.app_context():
         project, party = self.check_auth_info(request.auth_info)
         workflow = Workflow.query.filter_by(name=request.workflow_name,
                                             project_id=project.id).first()
         assert workflow is not None
         config = workflow.get_config()
         self._filter_workflow(config, [
             common_pb2.Variable.PEER_READABLE,
             common_pb2.Variable.PEER_WRITABLE
         ])
         # job details
         jobs = [
             service_pb2.JobDetail(name=job.name,
                                   state=job.get_state_for_front())
             for job in workflow.get_jobs()
         ]
         # fork info
         forked_from = ''
         if workflow.forked_from:
             forked_from = Workflow.query.get(workflow.forked_from).name
         return service_pb2.GetWorkflowResponse(
             name=request.workflow_name,
             status=common_pb2.Status(code=common_pb2.STATUS_SUCCESS),
             config=config,
             jobs=jobs,
             state=workflow.state.value,
             target_state=workflow.target_state.value,
             transaction_state=workflow.transaction_state.value,
             forkable=workflow.forkable,
             forked_from=forked_from,
             reuse_job_names=workflow.get_reuse_job_names(),
             peer_reuse_job_names=workflow.get_peer_reuse_job_names(),
             fork_proposal_config=workflow.get_fork_proposal_config())
示例#3
0
 def get_workflow(self, name):
     msg = service_pb2.GetWorkflowRequest(auth_info=self._auth_info,
                                          workflow_name=name)
     try:
         response = self._client.GetWorkflow(request=msg,
                                             metadata=self._get_metadata())
         if response.status.code != common_pb2.STATUS_SUCCESS:
             logging.error('get_workflow request error: %s',
                           response.status.msg)
         return response
     except Exception as e:
         logging.error('get_workflow request error: %s', repr(e))
         return service_pb2.GetWorkflowResponse(status=common_pb2.Status(
             code=common_pb2.STATUS_UNKNOWN_ERROR, msg=repr(e)))
示例#4
0
 def get_workflow(self, request, context):
     with self._app.app_context():
         project, party = self.check_auth_info(request.auth_info, context)
         workflow = Workflow.query.filter_by(name=request.workflow_name,
                                             project_id=project.id).first()
         assert workflow is not None, 'Workflow not found'
         config = workflow.get_config()
         config = self._filter_workflow(config, [
             common_pb2.Variable.PEER_READABLE,
             common_pb2.Variable.PEER_WRITABLE
         ])
         # job details
         jobs = [
             service_pb2.JobDetail(
                 name=job.name,
                 state=job.get_state_for_frontend(),
                 pods=json.dumps(
                     job.get_pods_for_frontend(include_private_info=False)))
             for job in workflow.get_jobs()
         ]
         # fork info
         forked_from = ''
         if workflow.forked_from:
             forked_from = Workflow.query.get(workflow.forked_from).name
         return service_pb2.GetWorkflowResponse(
             name=request.workflow_name,
             status=common_pb2.Status(code=common_pb2.STATUS_SUCCESS),
             config=config,
             jobs=jobs,
             state=workflow.state.value,
             target_state=workflow.target_state.value,
             transaction_state=workflow.transaction_state.value,
             forkable=workflow.forkable,
             forked_from=forked_from,
             create_job_flags=workflow.get_create_job_flags(),
             peer_create_job_flags=workflow.get_peer_create_job_flags(),
             fork_proposal_config=workflow.get_fork_proposal_config(),
             uuid=workflow.uuid,
             metric_is_public=workflow.metric_is_public)