def GetConvenienceMethods(self, request, context): # self.authenticate(context, required=True) try: builder = DynamicBuilder() manifests = builder.get_manifests() response = dynamicload_pb2.ListConvenienceMethodsReply() for manifest in manifests: for cm in manifest["convenience_methods"]: item = response.convenience_methods.add() item.filename = cm["filename"] item.contents = open(cm["path"]).read() REQUEST_COUNT.labels("xos-core", "DynamicLoad", "GetConvenienceMethods", grpc.StatusCode.OK).inc() return response except Exception as e: import traceback traceback.print_exc() REQUEST_COUNT.labels( "xos-core", "DynamicLoad", "GetConvenienceMethods", grpc.StatusCode.INTERNAL, ).inc() raise e
def GetLoadStatus(self, request, context): try: builder = DynamicBuilder() manifests = builder.get_manifests() response = dynamicload_pb2.LoadStatusReply() response.model_status = self.server.model_status response.model_output = self.server.model_output for manifest in manifests: item = response.services.add() item.name = manifest["name"] item.version = manifest["version"] item.state = manifest.get("state", "unspecified") return response except Exception, e: import traceback; traceback.print_exc() raise e
def GetLoadStatus(self, request, context): try: builder = DynamicBuilder() manifests = builder.get_manifests() response = dynamicload_pb2.LoadStatusReply() response.model_status = self.server.model_status response.model_output = self.server.model_output for manifest in manifests: item = response.services.add() item.name = manifest["name"] item.version = manifest["version"] item.state = manifest.get("state", "unspecified") if item.state == "load": django_app = self.django_apps_by_name.get("services." + item.name) if django_app: item.state = "present" # TODO: Might be useful to return a list of models as well # the core is always onboarded, so doesn't have an explicit manifest item = response.services.add() item.name = "core" item.version = self.get_core_version() if "core" in self.django_apps_by_name: item.state = "present" else: item.state = "load" REQUEST_COUNT.labels("xos-core", "DynamicLoad", "GetLoadStatus", grpc.StatusCode.OK).inc() return response except Exception as e: import traceback traceback.print_exc() REQUEST_COUNT.labels("xos-core", "DynamicLoad", "GetLoadStatus", grpc.StatusCode.INTERNAL).inc() raise e