[ic] Please wait while your request is processed

Bill Randle billr@exgate.tek.com
Thu, 15 Mar 2001 13:59:21 -0800


Mark Johnson wrote:
> 
> cfm@maine.com wrote:
> >
> > On Wed, Mar 14, 2001 at 09:15:16PM -0800, Dan B wrote:
> > > I have a metric ton of IML code that I would like to process in a visually
> > > aesthetic way.  How do I write a page so that it goes something like this:
> > >
> > > Please wait while your request is processed...
> > >
> > > -->(tons of code that takes 5+ seconds to complete goes here)<--
> > >
> > > ...Done.  Thank you for your patience, you will now be forwarded to ...
> > >
> > > [bounce ...]
> >
> 
> All the IC processing will occur before the buffer is returned to vlink
> (though it seems there's some way to force a flush that I can't
> remember). However, you can always use good ol' html to solve your
> problem, with a little restructuring of your messaging system.

Are you thinking about $Document->send() and/or $Document->hot(1)?

> We thank you for your patience while your request is processed...
> <meta http-equiv="refresh" content="0;url=[area bouncepage]">
> 
> Put the 5 seconds of code in 'bouncepage' along with whatever info you
> were planning on having on the page that you previously were
> [bounce]'ing to.
> 
> --
> Mark Johnson
> Senior Developer - Professional Services
> Red Hat, Inc.
> E-Business Solutions
> markj@redhat.com
> 703-456-2912

Another possibility, perhaps (untested):
	
	
	
	[mvasp]
	<%
	    HTML "This will take awhile, please be patient...";
	    $Document->send(); # flush buffer
	    $Document->hot(1); # send stuff as soon as it's written

	    # some perl task that takes awhile
	    # if there are some points in the process you can update the
	    # user status, so much the better. E.g.:
	    # foreach (@some_array) {
	    #   HTML " ."; # show another period as a progress indicator
	    #   some code that processes each item
	    # }

	    HTML "
All done, thank you for waiting."; %> [/mvasp] -Bill