Go to file
Kyle M Hall d8fc079eee
Bug 28833: Speed up holds queue builder via parallel processing
The holds queue builder can take a very long time to run on systems with many holds. For example, a partner with 124,784 unfilled ( not found ) holds, is taking about 64 minutes to run. If we run that same number of holds in 5 parallel chunks ( splitting the number of records as evenly as possible, but *not* taking into account the holds per bib ), it takes 21.5 minutes. If we use 10 loops, it takes less then 14 minutes.

Test Plan:
0) Install the Perl library Parallel::ForkManager
1) Generate a huge number of holds ( a few thousand at the minimum )
2) Run the holds queue builder, use the `time` utility to track how much
   time it took to run
3) Set HoldsQueueParallelLoopsCount to 10
4) Repeat step 2, note the improvement in speed
5) Experiment with other values for HoldsQueueParallelLoopsCount
6) prove t/db_dependent/HoldsQueue.t

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:53 +02:00
C4 Bug 28833: Speed up holds queue builder via parallel processing 2024-10-25 11:09:53 +02:00
Koha Bug 30661: Allow to update more hold parameters via REST API 2024-10-25 11:09:52 +02:00
acqui Bug 37265: Consideration of UniqueItemFields setting when receiving items in an order 2024-10-02 10:50:41 +01:00
admin Bug 36725: Add Current publication frequency 310$a to Elasticsearch index mappings 2024-10-21 15:10:35 +02:00
api Bug 30661: Allow to update more hold parameters via REST API 2024-10-25 11:09:52 +02:00
authorities Bug 38200: Remove dead code to delete authorities in authorities/authorities.pl 2024-10-23 19:14:56 +02:00
basket Bug 34478: Add 'op' to sendbasketform 2024-03-01 10:58:53 +01:00
bin
…
bookings Bug 35574: Bookings tab from biblio details should only require manage_bookings permission 2023-12-18 15:21:04 +01:00
catalogue Bug 27919: (QA follow-up): Add alerts to the UI to show there are return claims 2024-10-22 12:06:51 +02:00
cataloguing Bug 38030: stocknumberAV.pl fails with CSRF protection 2024-10-22 12:06:50 +02:00
circ Bug 28575: (QA follow-up) Tidy more 2024-10-24 10:45:37 +02:00
clubs Bug 34478: Manual fix - add op clubs/templates-add-modify 2024-03-01 10:57:55 +01:00
course_reserves Bug 28762: Use Koha::Course in course-details controller 2024-07-23 16:04:05 +01:00
debian Bug 38249: Fix typo in koha-list --help 2024-10-24 13:38:11 +02:00
docs Update contributor list with some new contributors 2024-09-13 16:06:22 +02:00
erm
…
errors Bug 37741: Do not send cookie back from error pages 2024-08-30 12:45:45 +02:00
etc Bug 31581: Remove zebra files for NORMARC 2024-10-23 19:14:51 +02:00
ill Bug 24471: Rename handle_commit_maybe method 2024-08-23 19:13:48 +02:00
installer Bug 28833: Speed up holds queue builder via parallel processing 2024-10-25 11:09:53 +02:00
koha-tmpl Bug 28833: Speed up holds queue builder via parallel processing 2024-10-25 11:09:53 +02:00
labels Bug 37206: Removing an item from a label batch should be a CSRF-protected POST operation 2024-07-02 17:20:38 +02:00
lib Bug 35681: Use ::Bootstrap version of FromANSI 2024-05-02 16:47:39 +02:00
members Bug 35508: (QA follow-up) Fix qa script issues 2024-10-18 17:44:19 +02:00
misc Bug 28833: Speed up holds queue builder via parallel processing 2024-10-25 11:09:53 +02:00
offline_circ Bug 34478: Changes for offline_circ 2024-03-01 10:58:34 +01:00
opac Bug 30955: (QA follow-up) Move LIST notice to new lists module 2024-10-24 16:56:00 +02:00
patron_lists Bug 34478: Changes for patron_lists/add-modify 2024-03-01 10:57:41 +01:00
patroncards Bug 37614: Printing patron cards from patron lists should be a GET 2024-08-16 17:33:45 +02:00
plugins Bug 30897: Add option to disable automated restart 2024-04-11 16:53:42 +02:00
pos Bug 33478: Apply formatting to RECEIPT 2024-04-26 20:15:44 +02:00
preservation Bug 38089: (follow-up) More fixes for errors in original submission 2024-10-11 11:13:47 +02:00
recalls Bug 38089: (follow-up) More fixes for errors in original submission 2024-10-11 11:13:47 +02:00
reports Bug 33635: Add BOM to report exports as CSV 2024-09-30 15:24:41 +01:00
reserve Bug 37868: Remove C4::Reserves::ToggleSuspend 2024-10-21 15:10:35 +02:00
reviews Bug 2486: Show user comments in staff interface 2024-08-26 17:39:42 +02:00
rotating_collections Bug 34478: Manual fix - add op - rotating_collections/addItems 2024-03-01 10:57:33 +01:00
serials Bug 35044: (QA follow-up): Allow for '0' in serials batch edit 2024-08-23 18:21:27 +02:00
services
…
skel
…
suggestion Bug 37337: Pass the save $op when biblio_exists 2024-07-18 17:53:12 +02:00
svc Bug 35931: More preselected items in the renew column on patron checkouts 2024-08-23 19:13:49 +02:00
t Bug 30661: Allow to update more hold parameters via REST API 2024-10-25 11:09:52 +02:00
tags Bug 34478: Add 'op' to tags/review 2024-03-01 10:58:25 +01:00
tools Bug 27123: (QA follow-up) Tidy modborrowers.pl 2024-10-21 15:10:34 +02:00
virtualshelves Bug 30955: (QA follow-up) Move LIST notice to new lists module 2024-10-24 16:56:00 +02:00
xt Bug 37728: Adjust test to catch more missing 'op' in POSTed forms 2024-10-18 14:25:56 +02:00
.editorconfig
…
.eslintrc.json Bug 36400: Centralize {js,ts,vue} formatting config in .prettierrc.js 2024-04-22 08:57:39 +02:00
.gitignore Bug 35402: Update the OPAC and staff interface to Bootstrap 5 2024-08-23 15:58:41 +02:00
.htaccess
…
.mailmap Bug 36943: (follow-up) 24.05.00 - Update .mailmap 2024-05-24 15:36:40 +02:00
.perlcriticrc
…
.perltidyrc
…
.prettierrc.js Bug 36400: (follow-up) remove option editorconfig from .prettierrc.js 2024-04-22 08:57:40 +02:00
.proverc.dist
…
.stylelintrc.json
…
INSTALL
…
Koha.pm Bug 38193: DBRev 24.06.00.043 2024-10-24 18:27:28 +02:00
LICENSE
…
MANIFEST.SKIP
…
Makefile.PL Bug 37824: remove references to non-existent files in Makefile.PL 2024-09-27 15:58:35 +02:00
README
…
README.md
…
README.robots
…
about.pl Bug 35655: Only use STOMP if JobsNotificationMethod set to do so 2024-09-30 15:30:57 +01:00
app.psgi Bug 36149: Add userenv middleware to app.psgi 2024-05-14 15:04:37 -03:00
build-resources.PL
…
changelanguage.pl
…
cpanfile Bug 35755: Update cpanfile for Business::ISBN 3.009 2024-08-19 16:07:17 +02:00
cypress.config.ts Bug 36012: Extend cypress's requestTimeout value 2024-03-22 15:07:36 +01:00
fix-perl-path.PL
…
gulpfile.js Bug 35402: (follow-up) Use ~ to resolve to nearest node_modules when building css 2024-08-26 17:39:54 +02:00
help.pl
…
kohaversion.pl
…
mainpage.pl Bug 36064: (QA follow-up) Simplify and tidy 2024-10-25 11:09:51 +02:00
package.json Bug 38164: Revert "Bug 37303: Replace po2json with a JS version" 2024-10-18 17:44:16 +02:00
rewrite-config.PL
…
rspack.config.js Bug 37824: (QA follow-up) Fix improper handling of jQuery and DataTables libraries by marking them as externals 2024-09-16 18:41:17 +02:00
tsconfig.json
…
webpack.config.js Bug 35919: Add record sources admin page 2024-04-26 17:06:04 +02:00
yarn.lock Bug 37824: Replace webpack with rspack for fun and profit 2024-09-16 13:47:06 +02:00

README.md

Koha is a free software integrated library system (ILS).

Koha is distributed under the GNU GPL version 3 or later.

Note: Koha does not accept pull requests from git hosting sites.

Note: This project has its own bug tracker, to report a bug or submit a patch visit http://bugs.koha-community.org.

For guidelines on submitting patches for Koha please visit https://wiki.koha-community.org/wiki/SubmitingAPatch

The developers handbook can be found at https://wiki.koha-community.org/wiki/Developer_handbook

http://koha-community.org/

Koha Logo