Pass data to a subprocess
Roy Smith
roy at panix.com
Wed Aug 1 06:59:37 EDT 2012
In article <mailman.2809.1343809166.4697.python-list at python.org>,
Laszlo Nagy <gandalf at shopzeus.com> wrote:
> Yes, I think that is correct. Instead of detaching a child process, you
> can create independent processes and use other frameworks for IPC. For
> example, Pyro. It is not as effective as multiprocessing.Queue, but in
> return, you will have the option to run your service across multiple
> servers.
You might want to look at beanstalk (http://kr.github.com/beanstalkd/).
We've been using it in production for the better part of two years. At
a 30,000 foot level, it's an implementation of queues over named pipes
over TCP, but it takes care of a zillion little details for you.
Setup is trivial, and there's clients for all sorts of languages. For a
Python client, go with beanstalkc (pybeanstalk appears to be
abandonware).
>
> The most effective IPC is usually through shared memory. But there is no
> OS independent standard Python module that can communicate over shared
> memory.
It's true that shared memory is faster than serializing objects over a
TCP connection. On the other hand, it's hard to imagine anything
written in Python where you would notice the difference.
More information about the Python-list
mailing list