Skip to content

Commit

Permalink
Merge branch 'feature/MUWM-5196' of https://github.com/uw-it-aca/myuw
Browse files Browse the repository at this point in the history
…into feature/MUWM-5196
  • Loading branch information
fanglinfang committed Dec 22, 2023
2 parents dacf5ef + 55de068 commit b4dc78d
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 9 deletions.
8 changes: 4 additions & 4 deletions docker/prod-values.yml
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ cronjob:
cpu: 25m
memory: 32Mi
- name: course-cleanup
schedule: "1 7 * * 5"
schedule: "21 20 * * 5"
command: ["/scripts/management_command.sh"]
args: ["db_cleanup", "course"]
resources:
Expand All @@ -189,7 +189,7 @@ cronjob:
cpu: 25m
memory: 128Mi
- name: seenreg-cleanup
schedule: "1 5 * * 5"
schedule: "1 23 * * 5"
command: ["/scripts/management_command.sh"]
args: ["db_cleanup", "seenreg"]
resources:
Expand All @@ -200,7 +200,7 @@ cronjob:
cpu: 25m
memory: 128Mi
- name: notice-cleanup
schedule: "1 3 * * 3"
schedule: "1 21 * * 5"
command: ["/scripts/management_command.sh"]
args: ["db_cleanup", "notice"]
resources:
Expand All @@ -211,7 +211,7 @@ cronjob:
cpu: 25m
memory: 512Mi
- name: linkvisit-cleanup
schedule: "1 3 * * 4"
schedule: "1 22 * * 5"
command: ["/scripts/management_command.sh"]
args: ["db_cleanup", "linkvisit"]
resources:
Expand Down
18 changes: 13 additions & 5 deletions myuw/management/commands/db_cleanup.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from uw_sws import sws_now, SWS_TIMEZONE
from myuw.models import (
VisitedLinkNew, SeenRegistration, UserNotices, UserCourseDisplay)
from myuw.dao.term import get_term_by_date, get_term_before
from myuw.dao.term import get_term_by_date, get_term_before, get_term_after
from myuw.util.settings import get_cronjob_recipient, get_cronjob_sender
from myuw.logger.timer import Timer

Expand Down Expand Up @@ -65,11 +65,19 @@ def deletion(self, ids_to_delete, queryf):
["{}@uw.edu".format(get_cronjob_recipient())])
raise CommandError(msg)

def get_cur_term(self):
comparison_date = sws_now().date()
term = get_term_by_date(comparison_date)
# Match MyUW quarter switchS
if comparison_date > term.grade_submission_deadline.date():
return get_term_after(term)
return term

def course_display(self):
# clean up after one year
timer = Timer()
queryf = "DELETE FROM user_course_display_pref WHERE id IN ({})"
term = get_term_by_date(sws_now().date())
term = self.get_cur_term()
y = term.year - 1
q = term.quarter
qset = UserCourseDisplay.objects.filter(year=y, quarter=q)
Expand All @@ -88,7 +96,7 @@ def notice_read(self):
# clean up after 180 days
timer = Timer()
queryf = "DELETE FROM myuw_mobile_usernotices WHERE id IN ({})"
cut_off_dt = self.get_cut_off_date()
cut_off_dt = self.get_cut_off_date(90)
qset = UserNotices.objects.filter(first_viewed__lt=cut_off_dt)
if qset.exists():
ids_to_delete = qset.values_list('id', flat=True)
Expand All @@ -105,7 +113,7 @@ def registration_seen(self):
# clean up previous quarters'
timer = Timer()
queryf = "DELETE FROM myuw_mobile_seenregistration WHERE id IN ({})"
term = get_term_before(get_term_by_date(sws_now().date()))
term = get_term_before(self.get_cur_term())
qset = SeenRegistration.objects.filter(
year=term.year, quarter=term.quarter)
if qset.exists():
Expand All @@ -123,7 +131,7 @@ def link_visited(self):
# clean up after 180 days
timer = Timer()
queryf = "DELETE FROM myuw_visitedlinknew WHERE id IN ({})"
cut_off_dt = self.get_cut_off_date()
cut_off_dt = self.get_cut_off_date(90)
qset = VisitedLinkNew.objects.filter(visit_date__lt=cut_off_dt)
if qset.exists():
ids_to_delete = qset.values_list('id', flat=True)
Expand Down

0 comments on commit b4dc78d

Please sign in to comment.