"I'll need to do some more reading on this, I guess"
Quite probable. From what you're describing, it's a shot in the dark unless one of the monks has experience in exactly what you're dealing with.
After reading more, and with some testing, you should be able to provide code snips that show the issue in action. I can think of a few things off the bat, but I'm afraid they'll be irrelevant and slant this thread sideways for no reason.
For instance... in one of my apps recently using Dancer2, I had to sway from their db plugin so that I could run my db inserts/updates inside of an event outside the main application, so that there was no holdup. That won't work in all cases though, so keep us apprised on what you find when you can get a bit more specific.