]> git.koha-community.org Git - koha.git/commit
Bug 37682: Lazy-load modules for setters in koha-preferences tool
authorDavid Cook <dcook@prosentient.com.au>
Tue, 20 Aug 2024 04:31:31 +0000 (04:31 +0000)
committerKatrin Fischer <katrin.fischer@bsz-bw.de>
Tue, 27 Aug 2024 10:14:23 +0000 (12:14 +0200)
commit5321e0fb092d32c44bcacd2d9c8d944dbd8bd30d
tree00705fd745b300c88b9ff4d30e3c6af0ea799f5e
parent673aaaaba293f08f6c5784ab5beb4f51e45855fb
Bug 37682: Lazy-load modules for setters in koha-preferences tool

This change lazy-loads modules for setters in the
koha-preferences tool, so that getters are free to run super fast.

Between BZ 37657 and BZ 37682 we effectively eliminate the
overhead of running "get" or "dump" commands via the koha-preferences
tool.

Test plan:

1. time misc/admin/koha-preferences get SearchEngine
2. Note time is about .35 seconds
3. time misc/admin/koha-preferences dump
4. Note time is about .35 seconds
5. Create sysprefs.yml

   ---
   marcflavour: MARC21
   viewMARC: 1

6. time misc/admin/koha-preferences load -i sysprefs.yml
7. Note time is about .35 seconds
8. time misc/admin/koha-preferences set SearchEngine Elasticsearch
9. Note time is about 1 seconds

10. Apply patch
11. Repeat the koha-preferences commands above
12. Note that the "dump" and "get" commands run in about .09-.1
seconds. The "load" and "set" commands still take the same amount
of time as their behaviours haven't changed

13. misc/admin/koha-preferences set SearchEngine Elasticsearch1
14. koha-mysql kohadev
15. select * from action_logs where module = 'SYSTEMPREFERENCE'
 order by action_id desc limit 5;
16. Note that the action log showing Elasticsearch1 update says
    "interface"
 of "commandline" and "script" of "koha-preferences"

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
misc/admin/koha-preferences