Thank you for all your suggestions.
The problem with Google app script is that it’s a bit of a walled garden. It restricts a number of things including threading and any asynchronous processing. Plus add-ons have a 30-second processing limit.
Technically there are many solutions. But I’m attempting to keep the existing investment in app script and not rewrite the code.
That said, I do think I have found s solution that will require minimal changes and keep our app script investment intact.
If anyone is interested I’ll explain how once I’m done proving it.
Thank you