Added some caching to /release/ pages. With now more than 350 releases, the page response times had increased to typically 4s. Caching in view and template brought this down to ~160ms.
- Legacy-Id: 16744
This commit is contained in:
parent
d7c4639d4f
commit
1efd28752c
|
@ -60,18 +60,23 @@ def get_changelog_entries():
|
|||
cache.set(cache_key, log_entries, 60*60*24)
|
||||
return log_entries
|
||||
|
||||
entries = None
|
||||
log_entries = None
|
||||
coverage_data = None
|
||||
def release(request, version=None):
|
||||
entries = {}
|
||||
log_entries = get_changelog_entries()
|
||||
if not log_entries:
|
||||
return HttpResponse("Error: changelog file %s not found" % settings.CHANGELOG_PATH)
|
||||
next = None
|
||||
for entry in log_entries:
|
||||
if next:
|
||||
next.prev = entry
|
||||
entry.next = next
|
||||
next = entry
|
||||
entries = dict((entry.version, entry) for entry in log_entries)
|
||||
global entries, log_entries, coverage_data
|
||||
if not entries:
|
||||
log_entries = get_changelog_entries()
|
||||
if not log_entries:
|
||||
return HttpResponse("Error: changelog file %s not found" % settings.CHANGELOG_PATH)
|
||||
next = None
|
||||
for entry in log_entries:
|
||||
if next:
|
||||
next.prev = entry
|
||||
entry.next = next
|
||||
next = entry
|
||||
entries = dict((entry.version, entry) for entry in log_entries)
|
||||
|
||||
if version == None or version not in entries:
|
||||
version = log_entries[0].version
|
||||
entries[version].logentry = trac_links(escape(entries[version].logentry.strip('\n')))
|
||||
|
@ -83,7 +88,8 @@ def release(request, version=None):
|
|||
code_coverage_time = datetime.datetime.fromtimestamp(os.path.getmtime(settings.TEST_CODE_COVERAGE_REPORT_FILE))
|
||||
|
||||
coverage = {}
|
||||
coverage_data = get_coverage_data()
|
||||
if not coverage_data:
|
||||
coverage_data = get_coverage_data()
|
||||
if version in coverage_data:
|
||||
coverage = coverage_data[version]
|
||||
for key in coverage:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
{% load origin %}{% load cache %}
|
||||
|
||||
{% block title %}Release information{% endblock %}
|
||||
|
||||
|
@ -51,8 +51,10 @@
|
|||
|
||||
-- {{entry.author}} <{{entry.email}}> {{entry.date}}
|
||||
</pre>
|
||||
{% cache 3600 ietf_release_list %}
|
||||
<div id="release-list"></div>
|
||||
<h2>Release list:</h2>
|
||||
|
||||
<table style="margin-left: 3em" class="table-striped">
|
||||
<tbody>
|
||||
{% for item in releases %}
|
||||
|
@ -74,6 +76,7 @@
|
|||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endcache %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
|
Loading…
Reference in a new issue