Josh, Bill -- good news, thanks! I'm optimistic for the future. In the meanwhile, I found that calling open-ils.actor.ou_setting.ancestor_default.batch with just the setting I want is significantly less expensive. I can make 339 calls in ~5600ms cold, and 750-850ms cached. This is probably workable.
Ken On Tue, Feb 14, 2017 at 4:14 PM, Bill Erickson <beric...@gmail.com> wrote: > Thanks for mentioning that, Josh. The code I added would make the multi-org > setting look-ups a lot faster. It would need a couple of Perl layers (one > for view_perm checks, plus a public API access point) before it could be > used by a remote client. I'd say it's more than halfway there, though. > > -b > > On Tue, Feb 14, 2017 at 11:59 AM, Josh Stompro <stomp...@exchange.larl.org> > wrote: >> >> Ken, I don't know if this is completely applicable, but as part of the new >> holds targeter, Bill created a way to pull org unit settings in batch for >> multiple orgs at once. >> >> https://bugs.launchpad.net/evergreen/+bug/1596595/comments/20 >> >> That might help in the future. >> >> Josh Stompro - LARL IT Director >> >> >> -----Original Message----- >> From: Open-ils-dev [mailto:open-ils-dev-boun...@list.georgialibraries.org] >> On Behalf Of Ken Cox >> Sent: Tuesday, February 14, 2017 7:39 AM >> To: Evergreen Development Discussion List >> Subject: [OPEN-ILS-DEV] Android: how to determine (quickly) which >> libraries are hold pickup locations >> >> I want to determine via OSRF which organizations cannot be hold pickup >> locations, and prevent the user from selecting those locations when placing >> a hold. The only reliable way I have found is to call >> open-ils.actor.org_unit_setting.values.ranged.retrieve and look for >> "opac.holds.org_unit_not_pickup_lib":true. Calling that 339 times takes 54 >> seconds, even in release mode with a pool of 4 threads. >> >> Can you help me find a better way? >> >> Many thanks, >> Ken > > -- -Ken