We have such a system as you describe that runs on Windows/Apache as well as Unix variants. We have never tried IIS. We use CGI scripts to control the services. (Win32::Service and Win32::Daemon are involved in these.) The queue-checking and job-implementing code runs as a service. We provide a page that allows you to follow what this service has been up to. We support regularly scheduled as well as one-time jobs in the queue. I can't promise you that it will be easy to build, unless you take most of it from a libre project. For us, it was a relatively small part of a big multi-year development effort. I remember that we have had some problems with Win32::Daemon, but the whole thing is working pretty well now, in production for a year or so. Cheers.
in reply to Handling long running operations started by CGI requests