欢迎来到赛兔子家园

Django中定期自动清除过期session

手动清除已失效过期session

输入命令:python manage.py clearsessions

定时任务自动清除

通过第三方模块apscheduler来自定义日期时间然后自动执行python manage.py clearsessions命令清除已过期失效的session

安装:pip install apscheduler

项目名同名的项目容器目录中wsgi.py添加任务

import os

from django.core.wsgi import get_wsgi_application

from apscheduler.schedulers.background import BackgroundScheduler

scheduler = BackgroundScheduler()
# 定时任务作用:定时清除已经过期的session数据库中session
# days参数指定几天清理,day=1 1天执行一次清除任务
# start_date参数指定开始日期
# id参数指定具体执行任务函数
@scheduler.scheduled_job(trigger='interval',days=1,start_date="2022-08-24 20:05:00" ,id="clear_session_job")
def clear_session_job():
    #清除已经过期失效的sessions
    print("执行了啊")
    os.system("python manage.py clearsessions")

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "newsass.settings")

application = get_wsgi_application()

scheduler.start() # 启动定时任务

 

  

  

 

posted on 2022-08-24 20:04  赛兔子  阅读(315)  评论(0编辑  收藏  举报

导航