receive request; if (request has no job_id) { create new job_id; start processing external commands (providing job_id); return an HTTP redirect with a 10 second pause, such as: } else { if (external commands have completed) { return results; } else { return the HTTP redirect again; } }