From db38cea0de71881f3bd79b5373c43ba78e9b2a3c Mon Sep 17 00:00:00 2001 From: Anton Sarukhanov <code@ant.sr> Date: Wed, 4 May 2016 18:40:48 -0400 Subject: [PATCH] Cache AJAX responses for 5 seconds --- app.py | 5 +++++ requirements.txt | 1 + 2 files changed, 6 insertions(+) diff --git a/app.py b/app.py index 4c479fb..46b9b77 100644 --- a/app.py +++ b/app.py @@ -1,6 +1,7 @@ import os from flask import Flask, jsonify, make_response, render_template, request, abort from flask.ext.bower import Bower +from flask.ext.cachecontrol import FlaskCacheControl, cache_for from jinja2.exceptions import TemplateNotFound from sqlalchemy.orm import joinedload from models import db, Agency @@ -20,6 +21,9 @@ db.init_app(app) Bower(app) +cache_control = FlaskCacheControl() +cache_control.init_app(app) + # Flask Web Routes @app.route('/') def map(): @@ -43,6 +47,7 @@ def map_embed(mode): return render_template('predictions.html', agency=agency, config=app.config, embed=True) @app.route('/ajax') +@cache_for(seconds=5) def ajax(): """ Handle all async requests (from JS). """ query = request.args.get('query') diff --git a/requirements.txt b/requirements.txt index a7a4fa6..6cb4b21 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,6 @@ Flask==0.10.1 Flask-Bower==1.2.1 +Flask-CacheControl==0.1.2 Flask-Celery-Helper==1.1.0 Flask-Migrate==1.6.0 Flask-SQLAlchemy==2.1 -- GitLab