Enhance log storage to support more data types (#1530)

This commit is contained in:
Robin Wang
2024-10-31 04:45:19 +08:00
committed by GitHub
parent f7d7b5fe18
commit 54386c0de4
2 changed files with 3 additions and 2 deletions

View File

@@ -70,7 +70,7 @@ class KickoffTaskOutputsSQLiteStorage:
task.expected_output, task.expected_output,
json.dumps(output, cls=CrewJSONEncoder), json.dumps(output, cls=CrewJSONEncoder),
task_index, task_index,
json.dumps(inputs), json.dumps(inputs, cls=CrewJSONEncoder),
was_replayed, was_replayed,
), ),
) )

View File

@@ -2,13 +2,14 @@ from datetime import datetime, date
import json import json
from uuid import UUID from uuid import UUID
from pydantic import BaseModel from pydantic import BaseModel
from decimal import Decimal
class CrewJSONEncoder(json.JSONEncoder): class CrewJSONEncoder(json.JSONEncoder):
def default(self, obj): def default(self, obj):
if isinstance(obj, BaseModel): if isinstance(obj, BaseModel):
return self._handle_pydantic_model(obj) return self._handle_pydantic_model(obj)
elif isinstance(obj, UUID): elif isinstance(obj, UUID) or isinstance(obj, Decimal):
return str(obj) return str(obj)
elif isinstance(obj, datetime) or isinstance(obj, date): elif isinstance(obj, datetime) or isinstance(obj, date):