[thelist] loading page
Lauri Väin
lauri_lists at tharapita.com
Tue Apr 25 11:10:13 CDT 2006
Hi,
The answer is that it depends. Down to the level of what kind of application
you have and what approach you are taking - synchronous vs asynchronous.
Usually it batch processes are frontloaded with information fetching and
loading tasks and generation oftentimes does not happen until very late in
the process. 5-10 minutes is quite a long time and it will probably not get
shorter.
The answer for many report generations is to make it an asynchronous
process, especially as it grows in complexity and in numbers. You have the
user upload the file or give the task to generate the report. You have a
periodic batch job (cli PHP, for example) that reads new tasks and when it
finds one, starts to process it. Once it is done, it will change the status
in some database or add a file to some category. Or depending on your data
sources, the reports are periodically generated. The trick is to get the
monitoring part right.
The user-facing side would either display the new processed reports (and the
ones still in processing) as a table on either a page load or do some fancy
AJAX, like somebody already suggested. Though I believe the user will have
plenty of other things to do and AJAX is just overkill for it. That might be
true for both internal (your own company reporting) and external
applications (customers of you). Though there are use cases for AJAX too...
even once the buzzword mania will pass.
If you want to do it in real time still (which will not scale very far, but
scaling is not necessarily an issue in many systems), display something
simple, like a progress bar.
Cheers,
Lauri
More information about the thelist
mailing list