</div>
</div>
</div>
<hr class="my12 outline-none baw0 bb bc-powder-2">
<div class="grid fw-nowrap fc-black-600">
<div class="grid--cell mr8">
<svg aria-hidden="true" class="svg-icon iconLightbulb" width="18" height="18" viewbox="0 0 18 18"><path d="M9.5.5a.5.5 0 0 0-1 0v.25a.5.5 0 0 0 1 0V.5zm5.6 2.1a.5.5 0 0 0-.7-.7l-.25.25a.5.5 0 0 0 .7.7l.25-.25zM1 7.5c0-.28.22-.5.5-.5H2a.5.5 0 0 1 0 1h-.5a.5.5 0 0 1-.5-.5zm14.5 0c0-.28.22-.5.5-.5h.5a.5.5 0 0 1 0 1H16a.5.5 0 0 1-.5-.5zM2.9 1.9c.2-.2.5-.2.7 0l.25.25a.5.5 0 1 1-.7.7L2.9 2.6a.5.5 0 0 1 0-.7z" fill-opacity=".4"></path><path opacity=".4" d="M7 16h4v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-1z" fill="#3F3F3F"></path><path d="M15 8a6 6 0 0 1-3.5 5.46V14a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-.54A6 6 0 1 1 15 8zm-4.15-3.85a.5.5 0 0 0-.7.7l2 2a.5.5 0 0 0 .7-.7l-2-2z" fill="#FFC166"></path></svg>
</div>
<div class="grid--cell lh-md">
<p class="mb0">
<b>Want to improve this question?</b> <a href="/posts/22027924/edit">Update the question</a> so it's <a href="/help/on-topic">on-topic</a> for Stack Overflow.
</p>
<p class="mb0 mt6">Closed <span title="2014-02-27 14:22:03Z" class="relativetime">6 years ago</span>.</p>
</div>
</div>
</aside>
I have coded a php webpage. There is a while loop in the page which retrieves data from database and do certain logic with data and update the same data in database. This loop takes more than 4 minutes to complete this whole processing of loop. and then the remaining page code is processed.
Now at some time while the page is loading for while loop process and it is not completed yet, If I press Esc button, which means, I force stop the page from more processing. Now if I suddenly refresh the page , It takes very long to load any page on this same website. I assume that the remaining part of the loop is in progress of completion when I refresh the page suddenly.
I want this page to reload the page normally and doesn't depend upon the previously stopped action.
Is there any solution to this problem in your mind ? I also tried it via Ajax, but same problem persists.
</div>
What you need to do is spawn off an external process on request that does the work, then reports back the results.
I typically do this with a table in my database containing a job queue. When a job request comes in, it lands in the database. There is either a cron job checking for new work every minute, or I fire up code to run jobs if there are none already in progress.
The status of the work (percent complete and what not) are updated in the table. When the user on the site requests the result, they can either see the status, or see the data when it is complete.