feat: 每日凌晨重置客户访问数量

This commit is contained in:
shaohuzhang1 2024-03-14 12:26:42 +08:00
parent 20cefe8207
commit e39c813c15
5 changed files with 50 additions and 0 deletions

View File

@ -0,0 +1,13 @@
# coding=utf-8
"""
@project: maxkb
@Author
@file __init__.py
@date2024/3/14 11:54
@desc:
"""
from .client_access_num_job import *
def run():
client_access_num_job.run()

View File

@ -0,0 +1,33 @@
# coding=utf-8
"""
@project: maxkb
@Author
@file client_access_num_job.py
@date2024/3/14 11:56
@desc:
"""
import logging
from apscheduler.schedulers.background import BackgroundScheduler
from django.db.models import QuerySet
from django_apscheduler.jobstores import DjangoJobStore
from application.models.api_key_model import ApplicationPublicAccessClient
scheduler = BackgroundScheduler()
scheduler.add_jobstore(DjangoJobStore(), "default")
def client_access_num_reset_job():
logging.getLogger("max_kb").info('开始重置access_num')
QuerySet(ApplicationPublicAccessClient).update(intraday_access_num=0)
logging.getLogger("max_kb").info('结束重置access_num')
def run():
scheduler.start()
access_num_reset = scheduler.get_job(job_id='access_num_reset')
if access_num_reset is not None:
access_num_reset.remove()
scheduler.add_job(client_access_num_reset_job, 'cron', hour='0', minute='0', second='0',
id='access_num_reset')

View File

@ -38,6 +38,7 @@ INSTALLED_APPS = [
'rest_framework',
"drf_yasg", # swagger 接口
'django_filters', # 条件过滤
'django_apscheduler'
]

View File

@ -18,8 +18,10 @@ application = get_wsgi_application()
def post_handler():
from common import event
from common import job
event.run()
event.ListenerManagement.init_embedding_model_signal.send()
job.run()
post_handler()

View File

@ -29,6 +29,7 @@ beautifulsoup4 = "^4.12.2"
html2text = "^2024.2.26"
langchain-openai = "^0.0.8"
django-ipware = "^6.0.4"
django-apscheduler = "^0.6.2"
[build-system]
requires = ["poetry-core"]