Ah thank you. I am in fact using pedestal and had missed that entry in the docs. So it does then seem like blocking IO is the only path, and should be safe.
Still tho, it'd be helpful to know the context of execution for other reasons (eg shared state).