Thanks! yes,

os.system() will launch the process and return control, but then I'd
have to write a utility to get the PID and other data about the
process.

I guess I'm looking for a definitive answer that the built-in process
modules cannot launch a process in the background.

Here are my findings:

subprocess.Popen and multiprocessing offer properties and methods
ideal for my task, but won't return to the view until the process
ends.
Daemonizing these will allow the calling script (django, in this case)
to quit, but still won't return from the view.

celery/gettoq/rabbitMQ allows for the creation of a queue, but you
must specify a predefined (as far as I know) number of workers in the
config. This is great for processor-intensive tasks that may only run
for a short period of time, as the worker pool stays the same size,
and processes new requests when there is a worker available. But, in
my case, the processes are not doing much until there is folder
activity, and I need to add worker instances dynamically.

I feel like I'm just missing something.. Launching system processes
must be a common idiom for a web app, no?

I do appreciate the response,

-heath carlisle


On Sep 6, 12:25 am, Aljoša Mohorović <[email protected]>
wrote:
> On Mon, Sep 6, 2010 at 7:19 AM, Heath <[email protected]> wrote:
> > What I require seems simple, just run the requested process in the
> > background. The terminal equivalent would be:
>
> > "nohup <process> <args> &" and return control to the view.
>
> > Any ideas on how to achieve this?
>
> if this already works in a shell is there some reason why
> "os.system('cmd')" or something similar doesn't work for you?
>
> Aljosa Mohorovic

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to