Mercurial > p > roundup > code
annotate scripts/Docker/roundup_start @ 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 | b5fb268b7f04 |
| children | 7b9bddda9d2d |
| rev | line source |
|---|---|
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
1 #! /bin/sh |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
2 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
3 # When container starts verify that the trackers are configured. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
4 # If they are, start the server otherwise run roundup-admin |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
5 # for installation and initialization. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
6 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
7 # "$@" should be a set of tracker=directory pairs. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
8 |
|
6581
b5fb268b7f04
Docker installation doc improved and switchable debugging
John Rouillard <rouilj@ieee.org>
parents:
6555
diff
changeset
|
9 if ! [ -z "$SHELL_DEBUG" ]; then |
|
b5fb268b7f04
Docker installation doc improved and switchable debugging
John Rouillard <rouilj@ieee.org>
parents:
6555
diff
changeset
|
10 set -xv |
|
b5fb268b7f04
Docker installation doc improved and switchable debugging
John Rouillard <rouilj@ieee.org>
parents:
6555
diff
changeset
|
11 fi |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
12 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
13 trap exit INT |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
14 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
15 do_exit=0 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
16 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
17 for tracker_spec in "$@"; do |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
18 # IFS== set a=b doesn't assign $1 and $2 in busybox ash |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
19 # it also clobbers '$@'. 'echo mumble | read' starts read in a |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
20 # subshell so vars are not available in parent. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
21 IFS="=" read tracker directory <<- EOE |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
22 $tracker_spec |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
23 EOE |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
24 # ^ is a tab for use with <<- |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
25 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
26 # was $tracker_spec in the form of a=b, if not ignore it. |
|
6581
b5fb268b7f04
Docker installation doc improved and switchable debugging
John Rouillard <rouilj@ieee.org>
parents:
6555
diff
changeset
|
27 # allows setting CMD to -i index_template issue=tracker for example. |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
28 if [ -z "$directory" ]; then continue; fi |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
29 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
30 # something is specified or built wrong. Don't start. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
31 if [ ! -d "$directory" ]; then |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
32 printf "Unable to find directory %s. Exiting\n" "$directory" |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
33 exit 1 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
34 fi |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
35 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
36 # user must define web in config.ini. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
37 if ! grep '^\s*web\s\s*=\s\s*' "$directory/config.ini" > /dev/null; then |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
38 roundup-admin -i "$directory" install |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
39 do_exit=1 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
40 fi |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
41 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
42 # we have a valid config.ini so init database if not done |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
43 if [ $do_exit == 0 -a ! -e "$directory/.init_done" ]; then |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
44 if roundup-admin -i "$directory" init; then |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
45 cat > "$directory/.init_done" <<- EOD |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
46 Don't delete this file. The docker startup needs it so it won't |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
47 re-initialze the database destroying all the data. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
48 EOD |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
49 else |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
50 do_exit=1 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
51 fi |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
52 fi |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
53 done |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
54 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
55 # if any config.ini needs editing don't start up. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
56 if [ $do_exit == 0 ]; then |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
57 # make roundup-server process 1 with exec |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
58 exec roundup-server -n 0.0.0.0 "$@" |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
59 fi |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
60 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
61 exit 0 |
