On Mar 10, 1:42 pm, sophie_newbie <[EMAIL PROTECTED]> wrote: > On Mar 7, 4:33 pm, Mike Driscoll <[EMAIL PROTECTED]> wrote: > > > > > On Mar 7, 10:28 am, sophie_newbie <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > I have a cgi script that performs a very long computation that can > > > take several hours to complete. Is there any smart way that I can keep > > > this script running until it is finished (after the user has closed > > > the browser) and email them with the results. The email bit isn't the > > > problem, I just don't know how to keep the code running in the > > > background. I'm sure there is a smart way to do this... > > > > Thanks! > > > You might have your cgi script use the subprocess module to open a > > second script that does the long-running process. > > > Mike > > Ya it looks like: > > import subprocess > > # spawn subprocess > subprocess.Popen(["python", "spawn.py"]) > > Should do this job, where spawn.py is the script to do the job. > Thanks.
In real life, you probably want spawn.py to do a full daemonize. That means fork/setsid/fork/chdir appropriately/deal with stdin/stdout/ umask, or however you set up a service on Windows. -- http://mail.python.org/mailman/listinfo/python-list