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