@@ -58,13 +58,20 @@ def build(cls, model_name: str, model_directory: str, batch_size,
58
58
logger .info ("Server start loading model: {}" .format (model_name ))
59
59
version_policy_filter = cls .get_model_version_policy_filter (
60
60
model_version_policy )
61
- versions_attributes , available_versions = cls .get_version_metadata (
62
- model_directory , batch_size , version_policy_filter )
61
+
62
+ try :
63
+ versions_attributes , available_versions = cls .get_version_metadata (
64
+ model_directory , batch_size , version_policy_filter )
65
+ except Exception as error :
66
+ logger .error ("Error occurred while getting versions "
67
+ "of the model {}" .format (model_name ))
68
+ logger .error ("Failed reading model versions from path: {} "
69
+ "with error {}" .format (model_directory , str (error )))
70
+ return None
71
+
63
72
versions_attributes = [version for version in versions_attributes
64
73
if version ['version_number' ]
65
74
in available_versions ]
66
- available_versions = [version_attributes ['version_number' ] for
67
- version_attributes in versions_attributes ]
68
75
versions_statuses = dict ()
69
76
for version in available_versions :
70
77
versions_statuses [version ] = ModelVersionStatus (model_name ,
@@ -73,6 +80,9 @@ def build(cls, model_name: str, model_directory: str, batch_size,
73
80
engines = cls .get_engines_for_model (versions_attributes ,
74
81
versions_statuses )
75
82
83
+ available_versions = [version_attributes ['version_number' ] for
84
+ version_attributes in versions_attributes ]
85
+
76
86
model = cls (model_name = model_name , model_directory = model_directory ,
77
87
available_versions = available_versions , engines = engines ,
78
88
batch_size = batch_size ,
@@ -81,10 +91,23 @@ def build(cls, model_name: str, model_directory: str, batch_size,
81
91
return model
82
92
83
93
def update (self ):
84
- versions_attributes , available_versions = self .get_version_metadata (
85
- self .model_directory , self .batch_size , self .version_policy_filter )
94
+ try :
95
+ versions_attributes , available_versions = \
96
+ self .get_version_metadata (
97
+ self .model_directory ,
98
+ self .batch_size ,
99
+ self .version_policy_filter )
100
+ except Exception as error :
101
+ logger .error ("Error occurred while getting versions "
102
+ "of the model {}" .format (self .model_name ))
103
+ logger .error ("Failed reading model versions from path: {} "
104
+ "with error {}" .format (self .model_directory ,
105
+ str (error )))
106
+ return
107
+
86
108
if available_versions == self .versions :
87
109
return
110
+
88
111
logger .info ("Server start updating model: {}" .format (self .model_name ))
89
112
to_create , to_delete = self ._mark_differences (available_versions )
90
113
logger .debug ("Server will try to add {} versions" .format (to_create ))
0 commit comments