cscenter/lms

Выпилить кэш для отзывов?

Closed this issue · 1 comments

Проблема кэша в том, что если менять его содержимое и при этом забывать инвалидировать старый, то в продакшн появляется 500я, которую локально сложно отследить. Как минимум, для отзывов можно объединить несколько записей, хранящихся в кэше и уменьшить кол-во точек отказа (см. get_random_testimonials и ключ TESTIMONIALS_CACHE_KEY).
Для этого нужно написать запрос, который соберёт N уникальных отзывов для каждого из направлений. Кажется, что примерно так:

GraduateProfile.academic_disciplines.through.objects
.select_related('graduateprofile')
.order_by('graduateprofile__student__id', 'academicdiscipline_id')
.distinct('graduateprofile__student__id')

Перечитываю и понимаю, что написал криво( Видимо, имелось ввиду, что если рефакторить
и переместить метод вызова, например, не инвалидируя кэша, то всё упадёт, т.к. в кэше хранится путь до исполняемого модуля (хз зачем, мб pickle так работает).