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() # 启动定时任务