Mercurial > p > roundup > code
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 |
| 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) |
