Re: mod_php script 'queue'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 12, 2010 at 9:36 AM, Reese <howell.r@xxxxxxxxxxxxxxxx> wrote:
On 12-Mar-10 11:31, Nilesh Govindarajan wrote:
On Fri, Mar 12, 2010 at 6:49 PM, Bruno - e-comBR <bruno@xxxxxxxxxxxxxx> wrote:

It's causing a little throuble for me. When a PHP script generates a bigger
report(taking about ten minutes or more), the user seems to be impatient.
They're doing refreshs on the page. So, for each refresh apache is queuing a
new script, and just begin running this when the queue is empty again.

What do you suggest me?

Thank you,
Bruno Moreira Guedes


I don't use mod_php, so don't know about its behavior. But I recommend
you inform the users that the report can take upto ten minutes to
generate and to be patient. That's the only solution I see.

Else, if you can make the PHP script 'smart' in some way so that a
popup or other visual indicator will give constant, visual feedback
on the progress of the request. With a "Cancel" button that functions
to kill the original request while blocking page refreshes. They can
start over from scratch if they like.

Reese




---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
 "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


Is there any way to cache the report?

Maybe for that specific page (or the reports pages in general) you should institute a process whereby the webpage doesn't run the report itself but acts an an interface to a CLI task that generates the report.  When you hit the webpage, it attempts to obtain a "report lock", at which point the report begins to run, once the report is generated the lock can be released, and the web page can retrieve and report the results.  The lock can be implemented any number of ways, I've done it in the past by simply touching and then deleting a file in the /tmp folder.

To eventually ensure the user sees the report when it's done being generated, you could do some fancy Keep-alive with the http request, or just have some _javascript_ on the page that automatically reloads it, and upon reload the script will check to see if there's a report built for that user, otherwise it checks to see if there's a lock.  If there's a lock, it stops and waits to try again soon.  If there is no lock, it starts a new report.

Just some thoughts! Good luck with your problem, I don't think it's really an apache problem.

[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux