Skip to content

Commit 77af823

Browse files
committed
refactor: replace FileLock with utility functions for locking mechanism
1 parent 921b9e0 commit 77af823

File tree

4 files changed

+8
-89
lines changed

4 files changed

+8
-89
lines changed

apps/common/event/__init__.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@
88
"""
99
from django.utils.translation import gettext as _
1010

11-
from common.lock.impl.file_lock import FileLock
1211
from .listener_manage import *
1312
from ..db.sql_execute import update_execute
1413

15-
lock = FileLock()
1614
update_document_status_sql = """
1715
UPDATE "public"."document"
1816
SET status ="replace"("replace"("replace"(status, '1', '3'), '0', '3'), '4', '3')
@@ -23,7 +21,7 @@
2321
def run():
2422
from models_provider.models import Model, Status
2523

26-
if lock.try_lock('event_init', 30 * 30):
24+
if try_lock('event_init', 30 * 30):
2725
try:
2826
# 修改Model状态为ERROR
2927
QuerySet(Model).filter(
@@ -34,4 +32,4 @@ def run():
3432
# 更新文档状态
3533
update_execute(update_document_status_sql, [])
3634
finally:
37-
lock.un_lock('event_init')
35+
un_lock('event_init')

apps/common/job/clean_chat_job.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,13 @@
99
from django_apscheduler.jobstores import DjangoJobStore
1010
from application.models import Application, Chat, ChatRecord
1111
from django.db.models import Q, Max
12-
from common.lock.impl.file_lock import FileLock
12+
from common.utils.lock import try_lock, un_lock
1313
from common.utils.logger import maxkb_logger
1414

1515
from knowledge.models import File
1616

1717
scheduler = BackgroundScheduler()
1818
scheduler.add_jobstore(DjangoJobStore(), "default")
19-
lock = FileLock()
2019

2120

2221
def clean_chat_log_job():
@@ -71,12 +70,12 @@ def clean_chat_log_job():
7170

7271

7372
def run():
74-
if lock.try_lock('clean_chat_log_job', 30 * 30):
73+
if try_lock('clean_chat_log_job', 30 * 30):
7574
try:
7675
scheduler.start()
7776
existing_job = scheduler.get_job(job_id='clean_chat_log')
7877
if existing_job is not None:
7978
existing_job.remove()
8079
scheduler.add_job(clean_chat_log_job, 'cron', hour='0', minute='5', id='clean_chat_log')
8180
finally:
82-
lock.un_lock('clean_chat_log_job')
81+
un_lock('clean_chat_log_job')

apps/common/job/clean_debug_file_job.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,12 @@
88
from django.utils import timezone
99
from django_apscheduler.jobstores import DjangoJobStore
1010

11-
from common.lock.impl.file_lock import FileLock
11+
from common.utils.lock import un_lock, try_lock
1212
from common.utils.logger import maxkb_logger
1313
from knowledge.models import File
1414

1515
scheduler = BackgroundScheduler()
1616
scheduler.add_jobstore(DjangoJobStore(), "default")
17-
lock = FileLock()
1817

1918

2019
def clean_debug_file():
@@ -27,12 +26,12 @@ def clean_debug_file():
2726

2827

2928
def run():
30-
if lock.try_lock('clean_debug_file', 30 * 30):
29+
if try_lock('clean_debug_file', 30 * 30):
3130
try:
3231
scheduler.start()
3332
clean_debug_file_job = scheduler.get_job(job_id='clean_debug_file')
3433
if clean_debug_file_job is not None:
3534
clean_debug_file_job.remove()
3635
scheduler.add_job(clean_debug_file, 'cron', hour='2', minute='0', second='0', id='clean_debug_file')
3736
finally:
38-
lock.un_lock('clean_debug_file')
37+
un_lock('clean_debug_file')

apps/common/lock/impl/file_lock.py

Lines changed: 0 additions & 77 deletions
This file was deleted.

0 commit comments

Comments
 (0)