Django项目定期自动清除过期session的2种方法实例

 更新时间:2022年08月01日 11:39:44   作者:山高路远,看世界,也找自己  
如果用户主动退出,session会自动清除,如果没有退出就一直保留,记录数越来越大,要定时清理没用的session,下面这篇文章主要给大家介绍了关于Django项目定期自动清除过期session的2种方法,需要的朋友可以参考下

非自动方法

python manage.py clearsessions

第一种方法通用方法(利用APScheduler定时清除)

安装插件

pip install apscheduler

添加定时任务

找到项目同名的app文件夹中的wsgi.py

修改wsgi.py

添加如下代码在wsgi.py

import os
 
from apscheduler.schedulers.background import BackgroundScheduler
 
scheduler = BackgroundScheduler()
 
 
# 定时任务, 清空session数据库,这个库不清的话,会不停的增大
#days为int值,几天一清理
#start_date开始日期
@scheduler.scheduled_job(trigger='interval', days=1,start_date='2022-05-02 20:08:00', id='clear_session')
 
def clear_session_job():
    print('clear session data base')
    # 命令行执行python manage.py clearsessions,可以清除已经失效的session
    os.system('python manage.py clearsessions')
 
 
scheduler.start()

运行效果

运行前数据库中session:

运行:

clear session data base !!

注意:警告不属于报错!!

运行后数据库中session: 

显而易见,所有过期的sessions全部被清理了

完成

以后运行django项目时候每天都会自动在规定时间里面清除过期的sessions

利用宝塔面板(baota)的计划面板(shell脚本)

由于我的项目是利用宝塔搭建在服务器上的,所以我也使用了很多宝塔的自动化脚本进行运行和维护我的服务器

进入shell编辑面

计划任务 -> 任务类型(shell脚本)-> 任务名称(自行命名)-> 执行周期(自行设置)

编写shell脚本

#!/bin/sh
#cd manage.py所在的项目文件夹
cd /www/wwwroot/vedio
python3 manage.py clearsessions

执行脚本 

运行效果

运行前数据库中session:十六条session数据,六条过期session

执行日志:

 运行后数据库中session:十条数据,过期的已经被删掉了

完成

以后运行django项目时候每天都会自动在规定时间里面清除过期的sessions

总结

到此这篇关于Django项目定期自动清除过期session的文章就介绍到这了,更多相关Django定期自动清除过期session内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python判断一个变量是否已经设置的方法

    python判断一个变量是否已经设置的方法

    这篇文章主要介绍了python判断一个变量是否已经设置的方法,有需要的朋友们可以跟着学习参考下。
    2020-08-08
  • Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】

    Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】

    这篇文章主要介绍了Python编程实现两个文件夹里文件的对比功能,包含内容的对比操作,涉及Python文件与目录的遍历、比较、运算等相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • Python并发编程之IO模型

    Python并发编程之IO模型

    本文详细讲解了Python并发编程之IO模型,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • python 3.7.4 安装 opencv的教程

    python 3.7.4 安装 opencv的教程

    这篇文章主要介绍了python 3.7.4 安装 opencv的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Python2实现的图片文本识别功能详解

    Python2实现的图片文本识别功能详解

    这篇文章主要介绍了Python2实现的图片文本识别功能,结合实例形式分析了Python pytesser库的安装及使用pytesser库识别图片文字相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • python读取word文档的方法

    python读取word文档的方法

    这篇文章主要介绍了python读取word文档的方法,实例分析了Python基于win32com操作word文档的相关技巧,需要的朋友可以参考下
    2015-05-05
  • Python实现查找字符串数组最长公共前缀示例

    Python实现查找字符串数组最长公共前缀示例

    这篇文章主要介绍了Python实现查找字符串数组最长公共前缀,涉及Python针对字符串的遍历、判断、计算等相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • 成功解决ValueError: Supported target types are:('binary', 'multiclass'). Got 'continuous' instead.

    成功解决ValueError: Supported target types are:('binary

    本文给大家分享成功解决ValueError: Supported target types are:('binary', 'multiclass'). Got 'continuous' instead.的错误问题,需要的朋友可以参考下
    2023-03-03
  • Python中各类Excel表格批量合并问题的实现思路与案例

    Python中各类Excel表格批量合并问题的实现思路与案例

    在日常工作中,可能会遇到各类表格合并的需求。本文主要介绍了Python中各类Excel表格批量合并问题的实现思路与案例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Numpy数组转置的实现

    Numpy数组转置的实现

    本文主要介绍了Numpy数组转置的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02

最新评论