Skip to content

Commit e73ded2

Browse files
authored
fix(sessions): Clean old expired sessions (#11770)
1 parent 94d54f7 commit e73ded2

File tree

3 files changed

+22
-0
lines changed

3 files changed

+22
-0
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from django.db import migrations
2+
3+
class Migration(migrations.Migration):
4+
5+
dependencies = [
6+
('dojo', '0221_system_settings_disclaimer_notif'),
7+
('sessions', '0001_initial'),
8+
]
9+
10+
operations = [
11+
migrations.RunSQL("DELETE FROM django_session WHERE expire_date < NOW();"),
12+
]

dojo/settings/settings.dist.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1149,6 +1149,10 @@ def saml2_attrib_map_format(din):
11491149
"task": "dojo.tasks.evaluate_pro_proposition",
11501150
"schedule": timedelta(hours=8),
11511151
},
1152+
"clear_sessions": {
1153+
"task": "dojo.tasks.clear_sessions",
1154+
"schedule": crontab(hour=0, minute=0, day_of_week=0),
1155+
},
11521156
# 'jira_status_reconciliation': {
11531157
# 'task': 'dojo.tasks.jira_status_reconciliation_task',
11541158
# 'schedule': timedelta(hours=12),

dojo/tasks.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from celery.utils.log import get_task_logger
66
from dateutil.relativedelta import relativedelta
77
from django.conf import settings
8+
from django.core.management import call_command
89
from django.db.models import Count, Prefetch
910
from django.urls import reverse
1011
from django.utils import timezone
@@ -216,3 +217,8 @@ def evaluate_pro_proposition(*args, **kwargs):
216217
# Update the announcement
217218
announcement.message = f'Only professionals have {object_count:,} Findings and Endpoints in their systems... <a href="https://www.defectdojo.com/pricing" target="_blank">Get DefectDojo Pro</a> today!'
218219
announcement.save()
220+
221+
222+
@app.task
223+
def clear_sessions(*args, **kwargs):
224+
call_command("clearsessions")

0 commit comments

Comments
 (0)