annotate frontends/wsgi.py @ 6747:d32d43e4a5ba

wsgi can cache tracker instance enabled by feature flag. Patch by Marcus Priesch caches a loaded tracker instance and reuse it for future client sessions. It is enabled by a feature flag in wsgi.py since it arrived during the 2.2.0 beta period. The provided wsgi.py is modified to enable it. Testing is run with flag enabled and disabled. Ralf Schlatterbeck and Marcus tested it on one of their larger more complex trackers and it sped up the response time to a client request by a factor of 3 (270ms down to about 80-85ms).
author John Rouillard <rouilj@ieee.org>
date Sat, 02 Jul 2022 14:04:00 -0400
parents 7c852cad2ca8
children fde9fe504ebd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6390
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
1 # If you installed roundup to the system locations
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
2 # using pip you don't need to change this
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
3 # section. If you installed roundup in a custom
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
4 # location, uncomment these lines and change the
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
5 # path in the append() method to your custom path.
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
6 #import sys
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
7 #sys.path.append('/custom/location/where/roundup/is/installed')
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
8
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
9 # Obtain the WSGI request dispatcher
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
10 from roundup.cgi.wsgi_handler import RequestDispatcher
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
11
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
12 # Set the path to tracker home.
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
13 tracker_home = '/path/to/tracker'
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
14
6747
d32d43e4a5ba wsgi can cache tracker instance enabled by feature flag.
John Rouillard <rouilj@ieee.org>
parents: 6390
diff changeset
15 # Enable the feature flag to speed up wsgi response by caching the
d32d43e4a5ba wsgi can cache tracker instance enabled by feature flag.
John Rouillard <rouilj@ieee.org>
parents: 6390
diff changeset
16 # Roundup tracker instance on startup. See upgrading.txt for
d32d43e4a5ba wsgi can cache tracker instance enabled by feature flag.
John Rouillard <rouilj@ieee.org>
parents: 6390
diff changeset
17 # more info.
d32d43e4a5ba wsgi can cache tracker instance enabled by feature flag.
John Rouillard <rouilj@ieee.org>
parents: 6390
diff changeset
18 feature_flags = { "cache_tracker": "" }
d32d43e4a5ba wsgi can cache tracker instance enabled by feature flag.
John Rouillard <rouilj@ieee.org>
parents: 6390
diff changeset
19
6390
7c852cad2ca8 Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
20 # Definition signature for app: app(environ, start_response):
6747
d32d43e4a5ba wsgi can cache tracker instance enabled by feature flag.
John Rouillard <rouilj@ieee.org>
parents: 6390
diff changeset
21 app = RequestDispatcher(tracker_home= feature_flags=feature_flags)

Roundup Issue Tracker: http://roundup-tracker.org/