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,
json.dumps(output, cls=CrewJSONEncoder),
task_index,
json.dumps(inputs),
json.dumps(inputs, cls=CrewJSONEncoder),
was_replayed,
),
)

View File

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