Keep a python script running after browser window closed

sjdevnull at yahoo.com sjdevnull at yahoo.com
Mon Mar 10 16:44:04 EDT 2008


On Mar 10, 1:42 pm, sophie_newbie <paulgeele... at gmail.com> wrote:
> On Mar 7, 4:33 pm, Mike Driscoll <kyoso... at gmail.com> wrote:
>
>
>
> > On Mar 7, 10:28 am, sophie_newbie <paulgeele... at gmail.com> 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.




More information about the Python-list mailing list