Mercurial > p > roundup > code
annotate detectors/newissuecopy.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 | 198b6e810c67 |
| children |
| rev | line source |
|---|---|
|
4627
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
1 # copied from nosyreaction |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
2 |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
3 from roundup import roundupdb |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
4 |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
5 def newissuecopy(db, cl, nodeid, oldvalues): |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
6 ''' Copy a message about new issues to a team address. |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
7 ''' |
|
5242
39c9f69c3f31
OpenPGP: Extends newissuecopy.py to encrypt if configured.
Bernhard Reiter <bernhard@intevation.de>
parents:
4627
diff
changeset
|
8 # get relevant crypto settings |
|
39c9f69c3f31
OpenPGP: Extends newissuecopy.py to encrypt if configured.
Bernhard Reiter <bernhard@intevation.de>
parents:
4627
diff
changeset
|
9 encrypt = db.config.PGP_ENABLE and db.config.PGP_ENCRYPT |
|
39c9f69c3f31
OpenPGP: Extends newissuecopy.py to encrypt if configured.
Bernhard Reiter <bernhard@intevation.de>
parents:
4627
diff
changeset
|
10 |
|
4627
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
11 # so use all the messages in the create |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
12 change_note = cl.generateCreateNote(nodeid) |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
13 |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
14 # send a copy to the nosy list |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
15 for msgid in cl.get(nodeid, 'messages'): |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
16 try: |
|
5242
39c9f69c3f31
OpenPGP: Extends newissuecopy.py to encrypt if configured.
Bernhard Reiter <bernhard@intevation.de>
parents:
4627
diff
changeset
|
17 # note: fourth arg must be a list |
|
39c9f69c3f31
OpenPGP: Extends newissuecopy.py to encrypt if configured.
Bernhard Reiter <bernhard@intevation.de>
parents:
4627
diff
changeset
|
18 cl.send_message(nodeid, msgid, change_note, |
|
39c9f69c3f31
OpenPGP: Extends newissuecopy.py to encrypt if configured.
Bernhard Reiter <bernhard@intevation.de>
parents:
4627
diff
changeset
|
19 ['team@team.host'], |
|
39c9f69c3f31
OpenPGP: Extends newissuecopy.py to encrypt if configured.
Bernhard Reiter <bernhard@intevation.de>
parents:
4627
diff
changeset
|
20 crypt=encrypt) |
|
5248
198b6e810c67
Use Python-3-compatible 'as' syntax for except statements
Eric S. Raymond <esr@thyrsus.com>
parents:
5242
diff
changeset
|
21 except roundupdb.MessageSendError as message: |
|
198b6e810c67
Use Python-3-compatible 'as' syntax for except statements
Eric S. Raymond <esr@thyrsus.com>
parents:
5242
diff
changeset
|
22 raise roundupdb.DetectorError(message) |
|
4627
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
23 |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
24 def init(db): |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
25 db.issue.react('create', newissuecopy) |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
26 |
|
6b32e9dac625
Restore sample detectors removed by 07c5d833dcb2 (issue2550574)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
27 # vim: set filetype=python ts=4 sw=4 et si |
