mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
fix: Multi process startup document modification executed multiple times (#2581)
This commit is contained in:
parent
be31989ab9
commit
000a3970e0
|
|
@ -12,15 +12,22 @@ from .listener_manage import *
|
|||
from django.utils.translation import gettext as _
|
||||
|
||||
from ..db.sql_execute import update_execute
|
||||
from common.lock.impl.file_lock import FileLock
|
||||
|
||||
lock = FileLock()
|
||||
update_document_status_sql = """
|
||||
UPDATE "public"."document"
|
||||
SET status ="replace"("replace"("replace"(status, '1', '3'), '0', '3'), '4', '3')
|
||||
WHERE status ~ '1|0|4'
|
||||
"""
|
||||
|
||||
|
||||
def run():
|
||||
# QuerySet(Document).filter(status__in=[Status.embedding, Status.queue_up]).update(**{'status': Status.error})
|
||||
QuerySet(Model).filter(status=setting.models.Status.DOWNLOAD).update(status=setting.models.Status.ERROR,
|
||||
meta={'message': _('The download process was interrupted, please try again')})
|
||||
update_execute(update_document_status_sql, [])
|
||||
if lock.try_lock('event_init', 30 * 30):
|
||||
try:
|
||||
QuerySet(Model).filter(status=setting.models.Status.DOWNLOAD).update(status=setting.models.Status.ERROR,
|
||||
meta={'message': _(
|
||||
'The download process was interrupted, please try again')})
|
||||
update_execute(update_document_status_sql, [])
|
||||
finally:
|
||||
lock.un_lock('event_init')
|
||||
|
|
|
|||
Loading…
Reference in New Issue