Hi all,
just released execnet-1.2, the tool for writing distributed zero-install
python programs. The release contains lots of improvements and fixes.
Most notably execnet now supports to use gevent/eventlet models on each of
the initiating side and the remote side (configurable separately).
See the changelog below for details.
Install it via:
pip install -U execnet
Read the docs here:
http://codespeak.net/execnet/
have fun playing,
holger
1.2
--------------------------------
- fix issue22 -- during interpreter shutdown don't throw
an exception when we can't send a termination sequence
anymore as we are about to die anyway.
- fix issue24 -- allow concurrent creation of gateways
by guarding automatic id creation by a look.
Thanks tlecomte.
- majorly refactor internal thread and IO handling.
execnet can now operate on different thread models,
defaults to "thread" but allows for eventlet and
gevent if it is installed.
- gateway.remote_exec() will now execute in multiple
threads on the other side by default. The previous
neccessity of running "gateway.remote_init_threads()"
to allow for such concurrency is gone. The latter
method is now a no-op and will be removed in future
versions of execnet.
- fix issue20: prevent AttributError at interpreter shutdown
by not trying to send close/last_message messages if the
world around is half destroyed.
- fix issue21: allow to create local gateways with sudo aka
makegateway("popen//python=sudo python").
Thanks Alfredo Deza for the PR.
- streamline gateway termination and simplify proxy
implementation. add more internal tracing.
- if execution hangs in computation, we now try to
send a SIGINT to ourselves on Unix platforms
instead of just calling thread.interrupt_main()
- change license from GPL to MIT
- introduce execnet.dump/load variants of dumps/loads
serializing/unserializing mechanism.
- improve channel.receive() communication latency on python2
by changing the default timeout of the underlying Queue.get
to a regular None instead of the previous default -1
which caused an internal positive timeout value
(a hack probably introduced to allow CTRL-C to pass
through for