How to best manage a queue of external processes
You could have a background job (SQL Agent or other) that runs the stored procedure, ensuring that you only have one instance running at a time.

The web app, instead of directly invoking the procedure, could just write a row to a "job table" or "queue table" and the background process works off of that.