Following on from https://community.intersystems.com/post/custom-business-process-change-sendrequestsync-sendrequestasync we are refactoring a number of business processes to use OnRequest/SendRequestAsync/OnResponse mechanisms.
To prevent overloading some of our datasources we currently implement a simple caching system using locks similar to the code below.