Skip to content

Commit 8d318d2

Browse files
committed
fix: 下载模型出错处理
1 parent b891d06 commit 8d318d2

File tree

1 file changed

+24
-19
lines changed

1 file changed

+24
-19
lines changed

apps/setting/serializers/provider_serializers.py

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -28,25 +28,30 @@ class ModelPullManage:
2828

2929
@staticmethod
3030
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)
5055

5156

5257
class ModelSerializer(serializers.Serializer):

0 commit comments

Comments
 (0)