I have a perl CGI application, which runs away and generates some hidden markov models. Every time it completes a model it sends some html back to the calling browser for display. My problem is that the browser/server seems to end the model generation after about 30 minutes. The software seems to be working fine, does this sound like a http time-out error or something else.
Thanks for any help
David
Its not a problem at all, the server will be setup to run the software exclusively and will be under a very low web traffic load. As for the time it takes, thats just how long multiple sequence alignments take.
I do have another question though, I can't get apache/perl to flush it's STDOUT buffer. It flushes on every function returning but not during function execution. Any ideas?
Get input details from user.
Thank user for input and advise that they will be notified when the results are ready.
Build the "model" (whatever that is) and store in a file.
Send an eMail to the user including a link to the newly generated file.
30 minutes does seem like an aweful long time to hold up someones browser.
I have to build 50+ Hidden Markov Models, which involves the following.
MySQL Sequence Retrieval
->
Sequence.fasta
->Multiple Sequence Alignment
Sequence.msa
->Hidden Markov Model
Ok so to follow this long process a table indicates success at each step for each model.
And me and only me will ever be interested in this webpage and me and only me will be able to access this part of the website.
As for sending emails, yes very obvious solution and at the moment it does both.
Thanks for all the help
If I made what I was doing more clear we could have avoided the obvious responses. So sorry for that
Another (appologies in advance if it's unwanted) suggestion.
If you are create a new entry in a table (for every step of the process), could you not just build a page that queries this table? Once you set the ball rolling, you could then be redirected to this page.
To check on it later, you could then just click Ctrl + F5. Your browser wouldn't be waiting around for each update, it would simply show the current state of play.