Skip to content

Commit caf89e3

Browse files
Merge remote-tracking branch 'origin/v2' into v2
2 parents e982bb0 + b1144d5 commit caf89e3

File tree

4 files changed

+25
-23
lines changed

4 files changed

+25
-23
lines changed

apps/common/job/clean_chat_job.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,16 @@
22

33
import datetime
44

5-
from apscheduler.schedulers.background import BackgroundScheduler
65
from django.db import transaction
76
from django.db.models import Q, Max
87
from django.utils import timezone
9-
from django_apscheduler.jobstores import DjangoJobStore
108

119
from application.models import Application, Chat, ChatRecord
10+
from common.job.scheduler import scheduler
1211
from common.utils.lock import try_lock, un_lock, lock
1312
from common.utils.logger import maxkb_logger
1413
from knowledge.models import File
1514

16-
scheduler = BackgroundScheduler()
17-
scheduler.add_jobstore(DjangoJobStore(), "default")
18-
1915

2016
def clean_chat_log_job():
2117
clean_chat_log_job_lock()
@@ -76,7 +72,8 @@ def clean_chat_log_job_lock():
7672
def run():
7773
if try_lock('clean_chat_log_job', 30 * 30):
7874
try:
79-
scheduler.start()
75+
maxkb_logger.info('get lock clean_chat_log_job')
76+
8077
existing_job = scheduler.get_job(job_id='clean_chat_log')
8178
if existing_job is not None:
8279
existing_job.remove()
Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
# coding=utf-8
2-
import time
32
from datetime import timedelta
43

5-
from apscheduler.schedulers.background import BackgroundScheduler
64
from django.db.models import Q
75
from django.utils import timezone
8-
from django_apscheduler.jobstores import DjangoJobStore
96

7+
from common.job.scheduler import scheduler
108
from common.utils.lock import un_lock, try_lock, lock
119
from common.utils.logger import maxkb_logger
1210
from knowledge.models import File, FileSourceType
1311

14-
scheduler = BackgroundScheduler()
15-
scheduler.add_jobstore(DjangoJobStore(), "default")
16-
1712

1813
def clean_debug_file():
1914
clean_debug_file_lock()
@@ -22,7 +17,7 @@ def clean_debug_file():
2217
@lock(lock_key='clean_debug_file_execute', timeout=30)
2318
def clean_debug_file_lock():
2419
from django.utils.translation import gettext_lazy as _
25-
maxkb_logger.debug(_('start clean debug file'))
20+
maxkb_logger.info(_('start clean debug file'))
2621
minutes_30_ago = timezone.now() - timedelta(minutes=30)
2722
two_hours_ago = timezone.now() - timedelta(hours=2)
2823
one_days_ago = timezone.now() - timedelta(hours=24)
@@ -31,17 +26,18 @@ def clean_debug_file_lock():
3126
Q(create_time__lt=one_days_ago, source_type=FileSourceType.TEMPORARY_1_DAY.value) |
3227
Q(create_time__lt=two_hours_ago, source_type=FileSourceType.TEMPORARY_120_MINUTE.value) |
3328
Q(create_time__lt=minutes_30_ago, source_type=FileSourceType.TEMPORARY_30_MINUTE.value)).delete()
34-
maxkb_logger.debug(_('end clean debug file'))
35-
time.sleep(2)
29+
maxkb_logger.info(_('end clean debug file'))
30+
# time.sleep(2)
3631

3732

3833
def run():
3934
if try_lock('clean_debug_file', 30 * 30):
4035
try:
41-
scheduler.start()
36+
maxkb_logger.info('get lock clean_debug_file')
37+
4238
clean_debug_file_job = scheduler.get_job(job_id='clean_debug_file')
4339
if clean_debug_file_job is not None:
4440
clean_debug_file_job.remove()
45-
scheduler.add_job(clean_debug_file, 'cron', hour='*', minute='*/30', second='0', id='clean_debug_file')
41+
scheduler.add_job(clean_debug_file, 'cron', hour='*', minute='*/1', second='0', id='clean_debug_file')
4642
finally:
4743
un_lock('clean_debug_file')

apps/common/job/client_access_num_job.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,13 @@
77
@desc:
88
"""
99

10-
from apscheduler.schedulers.background import BackgroundScheduler
1110
from django.db.models import QuerySet
12-
from django_apscheduler.jobstores import DjangoJobStore
1311

1412
from application.models import ApplicationChatUserStats
13+
from common.job.scheduler import scheduler
1514
from common.utils.lock import try_lock, un_lock, lock
1615
from common.utils.logger import maxkb_logger
1716

18-
scheduler = BackgroundScheduler()
19-
scheduler.add_jobstore(DjangoJobStore(), "default")
20-
2117

2218
def client_access_num_reset_job():
2319
client_access_num_reset_job_lock()
@@ -34,7 +30,8 @@ def client_access_num_reset_job_lock():
3430
def run():
3531
if try_lock('access_num_reset', 30 * 30):
3632
try:
37-
scheduler.start()
33+
maxkb_logger.info('get lock access_num_reset')
34+
3835
access_num_reset = scheduler.get_job(job_id='access_num_reset')
3936
if access_num_reset is not None:
4037
access_num_reset.remove()

apps/common/job/scheduler.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from apscheduler.schedulers.background import BackgroundScheduler
2+
from django_apscheduler.jobstores import DjangoJobStore
3+
4+
scheduler = BackgroundScheduler()
5+
scheduler.add_jobstore(DjangoJobStore(), "default")
6+
7+
try:
8+
scheduler.start()
9+
except Exception as e:
10+
from common.utils.logger import maxkb_logger
11+
12+
maxkb_logger.error(f"Failed to start scheduler: {e}")

0 commit comments

Comments
 (0)