From aa0538874bab5b9d5b76013480faa53a65e9cd0c Mon Sep 17 00:00:00 2001 From: Asuka Minato Date: Fri, 18 Jul 2025 23:09:02 +0900 Subject: [PATCH] ??? --- api/models/account.py | 8 ++------ api/models/dataset.py | 5 +++-- api/tasks/create_segment_to_index_task.py | 22 ++++++++++++---------- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/api/models/account.py b/api/models/account.py index 7be205d532..29acfdafc4 100644 --- a/api/models/account.py +++ b/api/models/account.py @@ -97,9 +97,7 @@ class Account(UserMixin, Base): last_login_at: Mapped[datetime] = mapped_column(db.DateTime) last_login_ip: Mapped[str] = mapped_column(db.String(255)) last_active_at: Mapped[datetime] = mapped_column(db.DateTime, server_default=func.current_timestamp()) - status: Mapped[str] = mapped_column( - db.String(16), server_default=db.text("'active'::character varying") - ) + status: Mapped[str] = mapped_column(db.String(16), server_default=db.text("'active'::character varying")) initialized_at: Mapped[datetime] = mapped_column(db.DateTime) created_at: Mapped[datetime] = mapped_column(db.DateTime, server_default=func.current_timestamp()) updated_at: Mapped[datetime] = mapped_column(db.DateTime, server_default=func.current_timestamp()) @@ -298,7 +296,5 @@ class TenantPluginPermission(Base): id: Mapped[str] = mapped_column(StringUUID, server_default=db.text("uuid_generate_v4()")) tenant_id: Mapped[str] = mapped_column(StringUUID) - install_permission: Mapped[InstallPermission] = mapped_column( - db.String(16), server_default="everyone" - ) + install_permission: Mapped[InstallPermission] = mapped_column(db.String(16), server_default="everyone") debug_permission: Mapped[DebugPermission] = mapped_column(db.String(16), server_default="noone") diff --git a/api/models/dataset.py b/api/models/dataset.py index e5d67a721e..ab9332317c 100644 --- a/api/models/dataset.py +++ b/api/models/dataset.py @@ -1,3 +1,4 @@ +from datetime import datetime import base64 import enum import hashlib @@ -674,13 +675,13 @@ class DocumentSegment(Base): enabled = mapped_column(db.Boolean, nullable=False, server_default=db.text("true")) disabled_at = mapped_column(db.DateTime, nullable=True) disabled_by = mapped_column(StringUUID, nullable=True) - status = mapped_column(db.String(255), nullable=False, server_default=db.text("'waiting'::character varying")) + status: Mapped[str] = mapped_column(db.String(255), server_default=db.text("'waiting'::character varying")) created_by = mapped_column(StringUUID, nullable=False) created_at = mapped_column(db.DateTime, nullable=False, server_default=func.current_timestamp()) updated_by = mapped_column(StringUUID, nullable=True) updated_at = mapped_column(db.DateTime, nullable=False, server_default=func.current_timestamp()) indexing_at = mapped_column(db.DateTime, nullable=True) - completed_at = mapped_column(db.DateTime, nullable=True) + completed_at: Mapped[Optional[datetime]] = mapped_column(db.DateTime, nullable=True) error = mapped_column(db.Text, nullable=True) stopped_at = mapped_column(db.DateTime, nullable=True) diff --git a/api/tasks/create_segment_to_index_task.py b/api/tasks/create_segment_to_index_task.py index a3f811faa1..5710d660be 100644 --- a/api/tasks/create_segment_to_index_task.py +++ b/api/tasks/create_segment_to_index_task.py @@ -37,11 +37,12 @@ def create_segment_to_index_task(segment_id: str, keywords: Optional[list[str]] try: # update segment status to indexing - update_params = { - DocumentSegment.status: "indexing", - DocumentSegment.indexing_at: datetime.datetime.now(datetime.UTC).replace(tzinfo=None), - } - db.session.query(DocumentSegment).filter_by(id=segment.id).update(update_params) + db.session.query(DocumentSegment).filter_by(id=segment.id).update( + { + DocumentSegment.status: "indexing", + DocumentSegment.indexing_at: datetime.datetime.now(datetime.UTC).replace(tzinfo=None), + } + ) db.session.commit() document = Document( page_content=segment.content, @@ -74,11 +75,12 @@ def create_segment_to_index_task(segment_id: str, keywords: Optional[list[str]] index_processor.load(dataset, [document]) # update segment to completed - update_params = { - DocumentSegment.status: "completed", - DocumentSegment.completed_at: datetime.datetime.now(datetime.UTC).replace(tzinfo=None), - } - db.session.query(DocumentSegment).filter_by(id=segment.id).update(update_params) + db.session.query(DocumentSegment).filter_by(id=segment.id).update( + { + DocumentSegment.status: "completed", + DocumentSegment.completed_at: datetime.datetime.now(datetime.UTC).replace(tzinfo=None), + } + ) db.session.commit() end_at = time.perf_counter()