]> git.parisson.com Git - teleforma.git/commitdiff
add several page_cache with memcached
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Mon, 28 Jun 2021 16:31:12 +0000 (18:31 +0200)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Mon, 28 Jun 2021 16:31:12 +0000 (18:31 +0200)
app/settings.py
requirements.txt
teleforma/urls.py

index d4b23dae3d5a3f822fa0d274dcbc5bf24aab7fa3..ab45e6863aa6caf903bfce2ff6099c0e8e304585 100644 (file)
@@ -286,12 +286,14 @@ RECAPTCHA_PRIVATE_KEY = '6Ldq5DgbAAAAAOVDOeF2kH8i2e2VSNHpqlinbpAJ'
 RECAPTCHA_REQUIRED_SCORE = 0.85
 
 # Cache backend is optional, but recommended to speed up user agent parsing
-# CACHES = {
-#    'default': {
-#        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
-#        'LOCATION': '127.0.0.1:11211',
-#    }
-# }
+CACHES = {
+   'default': {
+       'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache',
+       'LOCATION': 'memcached:11211',
+   }
+}
+
+CACHE_TIMEOUT = 300
 
 # Name of cache backend to cache user agents. If it not specified default
 # cache alias will be used. Set to `None` to disable caching.
index 0295153b85cab25f1c92bbda940dead378709f1b..5e468f600bc18121d33e524535f35599d6782e87 100644 (file)
@@ -32,3 +32,4 @@ psycopg2==2.8.6
 redis==3.5.3 
 uwsgi==2.0.19
 daphne==3.0.2
+pymemcache==3.4.4
index f7074f93fddbde3ee942d684c13558b37ad1e3f0..d049e12deff2c97611cb55788d2f912483ff44f3 100644 (file)
@@ -45,6 +45,7 @@ from django.contrib.auth.views import (LoginView, LogoutView,
                                        PasswordResetDoneView,
                                        PasswordResetView)
 from django.views.generic.base import TemplateView
+from django.views.decorators.cache import cache_page
 from jsonrpc import jsonrpc_site
 
 from teleforma.views.home import HomeView
@@ -74,6 +75,9 @@ media = MediaView()
 home_view = HomeView()
 media_transcoded = MediaTranscodedView()
 
+CACHE_TIMEOUT = getattr(settings, 'CACHE_TIMEOUT', 300)
+
+
 urlpatterns = [
     # login / logout
     url(r'^login/$', LoginView.as_view(template_name='teleforma/login.html'),
@@ -143,7 +147,7 @@ urlpatterns = [
     url(r'^desk/$', HomeRedirectView.as_view(),
         name="teleforma-desk"),
     url(r'^desk/periods/(?P<period_id>.*)/courses/$',
-        CourseListView.as_view(), name="teleforma-desk-period-list"),
+        cache_page(CACHE_TIMEOUT)(CourseListView.as_view()), name="teleforma-desk-period-list"),
     url(r'^desk/periods/(?P<period_id>.*)/courses_pending/$',
         CoursePendingListView.as_view(), name="teleforma-desk-period-pending"),
     url(r'^desk/periods/(?P<period_id>.*)/courses/(?P<pk>.*)/detail/$', CourseView.as_view(),
@@ -180,10 +184,12 @@ urlpatterns = [
         AnnalsCourseView.as_view(), name="teleforma-annals-course"),
 
     url(r'^desk/periods/(?P<period_id>.*)/conferences/(?P<pk>.*)/video/$',
-        ConferenceView.as_view(), name="teleforma-conference-detail"),
+        cache_page(CACHE_TIMEOUT)(ConferenceView.as_view()),
+        name="teleforma-conference-detail"),
     url(r'^desk/periods/(?P<period_id>.*)/conferences/(?P<pk>.*)/audio/$',
-        ConferenceView.as_view(
-            template_name="teleforma/course_conference_audio.html"),
+        cache_page(CACHE_TIMEOUT)ConferenceView.as_view(
+            template_name="teleforma/course_conference_audio.html")
+        ),
         name="teleforma-conference-audio"),
     url(r'^desk/periods/(?P<period_id>.*)/conferences/list/$', ConferenceListView.as_view(),
         name="teleforma-conferences"),