The web application that I am developing should perform tasks that take too long to complete during the HTTP request / response cycle. Typically, the user will execute the request, the server will fulfill this request and, among other things, run some scripts to generate data (for example, rendering images using povray).
Of course, these tasks can take a lot of time, so the server should not freeze for scripts to complete before sending a response to the client. Therefore, I need to execute async scripts and give the client a “resource here, but not ready” and possibly point it to an ajax endpoint for polling so that it can retrieve and display the resource when it is ready.
Now my question is not related to design (although I would really like the hints of this attitude). My question is: is there a system to solve this problem, so I do not invent a square wheel? If I had to do this, I would use the process queue manager to submit the task and set the HTTP endpoint to display the status, something like "waiting", "interrupted", "completed" for the ajax client, but if something similar already exists especially for this task, I would basically enjoy it.
I work in python + django.
Change . Please note: the main problem here is not how the server and client should coordinate and exchange information about the status of the task.
, . , , , LSF. , , ...
2. , , . pyprocessing, .