A design pattern for real time progress monitoring of a time-intensive process in a stateless software application. (1st January 2015) - Mohaimenuzzaman, Md.; Monzurur Rahman, S.M.
As stateless software applications run based on request and response to and from a server, it depends on the server processes to manage concurrent requests and its session state. In the cases, where there are modifications to the session state, the server will have to handle the requests synchronously to prevent many issues relating to race conditions. The server components usually have a maximum execution timeout for requests to finish its execution. It is possible to extend this limit but it may open a security threat for the application as it is now more susceptible to denial of service attacks. With these limitations, we propose a pattern to allow for time-intensive processes to run in a stateless application and the ability to monitor their progress in real time with other capabilities such as stopping, pausing and resuming the background task.