Django項(xiàng)目定期自動(dòng)清除過(guò)期session的2種方法實(shí)例
非自動(dòng)方法
python manage.py clearsessions
第一種方法通用方法(利用APScheduler定時(shí)清除)
安裝插件
pip install apscheduler
添加定時(shí)任務(wù)
找到項(xiàng)目同名的app文件夾中的wsgi.py

修改wsgi.py
添加如下代碼在wsgi.py
import os
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler()
# 定時(shí)任務(wù), 清空session數(shù)據(jù)庫(kù),這個(gè)庫(kù)不清的話,會(huì)不停的增大
#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')
# 命令行執(zhí)行python manage.py clearsessions,可以清除已經(jīng)失效的session
os.system('python manage.py clearsessions')
scheduler.start()運(yùn)行效果
運(yùn)行前數(shù)據(jù)庫(kù)中session:

運(yùn)行:

clear session data base !!
注意:警告不屬于報(bào)錯(cuò)!!
運(yùn)行后數(shù)據(jù)庫(kù)中session:

顯而易見,所有過(guò)期的sessions全部被清理了
完成
以后運(yùn)行django項(xiàng)目時(shí)候每天都會(huì)自動(dòng)在規(guī)定時(shí)間里面清除過(guò)期的sessions
利用寶塔面板(baota)的計(jì)劃面板(shell腳本)
由于我的項(xiàng)目是利用寶塔搭建在服務(wù)器上的,所以我也使用了很多寶塔的自動(dòng)化腳本進(jìn)行運(yùn)行和維護(hù)我的服務(wù)器
進(jìn)入shell編輯面
計(jì)劃任務(wù) -> 任務(wù)類型(shell腳本)-> 任務(wù)名稱(自行命名)-> 執(zhí)行周期(自行設(shè)置)

編寫shell腳本
#!/bin/sh #cd manage.py所在的項(xiàng)目文件夾 cd /www/wwwroot/vedio python3 manage.py clearsessions

執(zhí)行腳本

運(yùn)行效果
運(yùn)行前數(shù)據(jù)庫(kù)中session:十六條session數(shù)據(jù),六條過(guò)期session

執(zhí)行日志:

運(yùn)行后數(shù)據(jù)庫(kù)中session:十條數(shù)據(jù),過(guò)期的已經(jīng)被刪掉了

完成
以后運(yùn)行django項(xiàng)目時(shí)候每天都會(huì)自動(dòng)在規(guī)定時(shí)間里面清除過(guò)期的sessions
總結(jié)
到此這篇關(guān)于Django項(xiàng)目定期自動(dòng)清除過(guò)期session的文章就介紹到這了,更多相關(guān)Django定期自動(dòng)清除過(guò)期session內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+ChatGPT實(shí)戰(zhàn)之進(jìn)行游戲運(yùn)營(yíng)數(shù)據(jù)分析
最近ChatGPT蠻火的,今天試著讓ta用Python語(yǔ)言寫了一篇數(shù)據(jù)分析實(shí)戰(zhàn)案例。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-02-02
Flask之請(qǐng)求鉤子的實(shí)現(xiàn)
這篇文章主要介紹了Flask之請(qǐng)求鉤子的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
PyCharm控制臺(tái)堆棧亂碼問(wèn)題解決方案
PyCharm環(huán)境都已經(jīng)配置成了UTF-8編碼,控制臺(tái)打印中文也不會(huì)出現(xiàn)亂碼,但報(bào)錯(cuò)堆棧信息中如果有中文會(huì)出現(xiàn)中文亂碼,遇到這樣的問(wèn)題如何解決呢,下面小編給大家?guī)?lái)了PyCharm控制臺(tái)堆棧亂碼問(wèn)題解決方案,感興趣的朋友一起看看吧2023-12-12
Python真題案例之小學(xué)算術(shù)?階乘精確值?孿生素?cái)?shù)?6174問(wèn)題詳解
這篇文章主要介紹了python實(shí)操案例練習(xí),本文給大家分享的案例中主要任務(wù)有小學(xué)生算術(shù)、階乘的精確值、孿生素?cái)?shù)、6174問(wèn)題,需要的小伙伴可以參考一下2022-03-03

