瀏覽代碼

disable all chunks status when disable document (#12149)

tags/0.15.0
Jyong 10 月之前
父節點
當前提交
5a3fe61f2a
沒有連結到貢獻者的電子郵件帳戶。
共有 2 個檔案被更改,包括 26 行新增1 行删除
  1. 15
    1
      api/tasks/add_document_to_index_task.py
  2. 11
    0
      api/tasks/remove_document_from_index_task.py

+ 15
- 1
api/tasks/add_document_to_index_task.py 查看文件

try: try:
segments = ( segments = (
db.session.query(DocumentSegment) db.session.query(DocumentSegment)
.filter(DocumentSegment.document_id == dataset_document.id, DocumentSegment.enabled == True)
.filter(
DocumentSegment.document_id == dataset_document.id,
DocumentSegment.enabled == False,
DocumentSegment.status == "completed",
)
.order_by(DocumentSegment.position.asc()) .order_by(DocumentSegment.position.asc())
.all() .all()
) )
db.session.query(DatasetAutoDisableLog).filter( db.session.query(DatasetAutoDisableLog).filter(
DatasetAutoDisableLog.document_id == dataset_document.id DatasetAutoDisableLog.document_id == dataset_document.id
).delete() ).delete()

# update segment to enable
db.session.query(DocumentSegment).filter(DocumentSegment.document_id == dataset_document.id).update(
{
DocumentSegment.enabled: True,
DocumentSegment.disabled_at: None,
DocumentSegment.disabled_by: None,
DocumentSegment.updated_at: datetime.datetime.now(datetime.UTC).replace(tzinfo=None),
}
)
db.session.commit() db.session.commit()


end_at = time.perf_counter() end_at = time.perf_counter()

+ 11
- 0
api/tasks/remove_document_from_index_task.py 查看文件

import datetime
import logging import logging
import time import time


index_processor.clean(dataset, index_node_ids, with_keywords=True, delete_child_chunks=False) index_processor.clean(dataset, index_node_ids, with_keywords=True, delete_child_chunks=False)
except Exception: except Exception:
logging.exception(f"clean dataset {dataset.id} from index failed") logging.exception(f"clean dataset {dataset.id} from index failed")
# update segment to disable
db.session.query(DocumentSegment).filter(DocumentSegment.document_id == document.id).update(
{
DocumentSegment.enabled: False,
DocumentSegment.disabled_at: datetime.datetime.now(datetime.UTC).replace(tzinfo=None),
DocumentSegment.disabled_by: document.disabled_by,
DocumentSegment.updated_at: datetime.datetime.now(datetime.UTC).replace(tzinfo=None),
}
)
db.session.commit()


end_at = time.perf_counter() end_at = time.perf_counter()
logging.info( logging.info(

Loading…
取消
儲存