Here's the situation...I have a web-based application on a SUN system w/ 
Apache that allows the user to fill out a search criteria form and 
submit it back to the server to perform SQL queries, via PERL(CGI) to an 
Oracle DB located on the same Sun server.

CLIENT(ANY OS) <----> WEBSERVER/ORACLE DB(SUN)

Upon submissions of the form to the webserver a PERL(CGI) script starts 
a SQL query.  Well these queries are very large and can take hours to 
complete.  So the user, on the CLIENT end (browser), cancels the 
operation after a period of time and then tries to refine their search 
and tries again.  Imagine this happening several times...

In the meantime the previous PERL(CGI) processes are still running, 
presumably at the DBI->execute() command, and will run until the DBI 
command completes then the script terminates if there is no place for 
the results to go.  Some scripts dump to a file so the script then 
creates a file and dumps the results although there is no need for the data.

What I am looking for, if possible, is to cancel the DBI call when the 
user hits cancel on the client machine.

The server is getting bogged down with orphaned PERL(CGI) that still 
runs on the server and causes Oracle to run jobs that the client has 
aborted for some time.

I have heard talk about using a signal handler/trap to catch abort 
signals but I was wondering if anyone has experienced this and/or has a 
solution.

NOTE: I have also seen this type of behavior on Win32 platforms running 
ActiveState Perl.

Any advice is greatly appreciated...
-- 
Bill McClintock - EDMS App/Web Development
    MCIWorldcom - Colorado Springs (GOG)
    VNet:622-0054   Local:(719)265-0054
      Pager:1-800-PAGEMCI PIN#1686599
      EMail:[EMAIL PROTECTED]
               AOLIM:bm0054


Reply via email to