Просмотр исходного кода

Added cache and documented RANKING_LENGTH

Rafał Pitoń 10 лет назад
Родитель
Сommit
f0d2995ba9
3 измененных файлов с 12 добавлено и 1 удалено
  1. 7 0
      docs/developers/settings.rst
  2. 3 1
      misago/conf/defaults.py
  3. 2 0
      misago/users/views/lists.py

+ 7 - 0
docs/developers/settings.rst

@@ -219,6 +219,13 @@ MISAGO_MARKUP_EXTENSIONS
 List of python modules extending Misago markup.
 
 
+MISAGO_RANKING_LENGTH
+---------------------
+
+Some lists act as rankings, displaying users in order of certain scoring criteria, like number of posts or likes received.
+This setting controls maximum age in days of items that should count to ranking.
+
+
 MISAGO_SENDFILE_HEADER
 ----------------------
 

+ 3 - 1
misago/conf/defaults.py

@@ -242,7 +242,9 @@ MISAGO_AVATAR_SERVER_PATH = '/user-avatar'
 
 # Controls amount of data Misago has to process to build users rankings
 # Used for active posters and most liked users lists
-# The more active the forum, the shorter this period should be
+# If your forum runs out of memory when trying to generate users rankings list
+# or you want those to be more dynamic, lower this
+# You don't have to be overzelous with this as user rankings are cached for 24h
 # Number of days
 MISAGO_RANKING_LENGTH = 30
 

+ 2 - 0
misago/users/views/lists.py

@@ -4,6 +4,7 @@ from django.conf import settings
 from django.contrib.auth import get_user_model
 from django.core.urlresolvers import reverse
 from django.shortcuts import redirect, render as django_render
+from django.views.decorators.cache import cache_page
 
 from misago.core.shortcuts import get_object_or_404, paginate
 
@@ -61,6 +62,7 @@ def list_view(request, template, queryset, page, context=None):
 
 
 @allow_see_list()
+@cache_page(24 * 3600)
 def active_posters(request, page=0):
     warnings.warn("Not implemented yet! See #404 for details.",
                   FutureWarning)