I think that this is the right place to use a batch-processing system. The web site would be able to “submit a request” to that system to do this particular thing. The work itself would be carried out by that system, which would also be responsible for regulating how many such requests could actually be in-progress at any one time. The web-page (and by extension, the web server) is merely a user interface to getting such things started and/or for monitoring their status. Said web-server has, and is not given, any direct control over the situation.