@@ -28,25 +28,30 @@ class ModelPullManage:
28
28
29
29
@staticmethod
30
30
def pull (model : Model , credential : Dict ):
31
- response = ModelProvideConstants [model .provider ].value .down_model (model .model_type , model .model_name ,
32
- credential )
33
- down_model_chunk = {}
34
- timestamp = time .time ()
35
- for chunk in response :
36
- down_model_chunk [chunk .digest ] = chunk .to_dict ()
37
- if time .time () - timestamp > 5 :
38
- QuerySet (Model ).filter (id = model .id ).update (meta = {"down_model_chunk" : list (down_model_chunk .values ())})
39
- timestamp = time .time ()
40
- status = Status .ERROR
41
- message = ""
42
- down_model_chunk_list = list (down_model_chunk .values ())
43
- for chunk in down_model_chunk_list :
44
- if chunk .get ('status' ) == DownModelChunkStatus .success .value :
45
- status = Status .SUCCESS
46
- if chunk .get ('status' ) == DownModelChunkStatus .error .value :
47
- message = chunk .get ("digest" )
48
- QuerySet (Model ).filter (id = model .id ).update (meta = {"down_model_chunk" : [], "message" : message },
49
- status = status )
31
+ try :
32
+ response = ModelProvideConstants [model .provider ].value .down_model (model .model_type , model .model_name ,
33
+ credential )
34
+ down_model_chunk = {}
35
+ timestamp = time .time ()
36
+ for chunk in response :
37
+ down_model_chunk [chunk .digest ] = chunk .to_dict ()
38
+ if time .time () - timestamp > 5 :
39
+ QuerySet (Model ).filter (id = model .id ).update (
40
+ meta = {"down_model_chunk" : list (down_model_chunk .values ())})
41
+ timestamp = time .time ()
42
+ status = Status .ERROR
43
+ message = ""
44
+ down_model_chunk_list = list (down_model_chunk .values ())
45
+ for chunk in down_model_chunk_list :
46
+ if chunk .get ('status' ) == DownModelChunkStatus .success .value :
47
+ status = Status .SUCCESS
48
+ if chunk .get ('status' ) == DownModelChunkStatus .error .value :
49
+ message = chunk .get ("digest" )
50
+ QuerySet (Model ).filter (id = model .id ).update (meta = {"down_model_chunk" : [], "message" : message },
51
+ status = status )
52
+ except Exception as e :
53
+ QuerySet (Model ).filter (id = model .id ).update (meta = {"down_model_chunk" : [], "message" : str (e )},
54
+ status = Status .ERROR )
50
55
51
56
52
57
class ModelSerializer (serializers .Serializer ):
0 commit comments