execnet-1.0.1: more robust and rapid python deployment

holger krekel holger at merlinux.eu
Sat Dec 5 13:37:41 EST 2009


Hi everybody,

Just uploaded execnet-1.0.1 featuring a new motto: 
execnet is about rapid-python deployment, be it for 
multiple CPUs, different platforms or python versions.  

This release brings a bunch of refinements and most 
importantly more robust termination, handling of CTRL-C 
and automatically tested documentation:: 

    http://codespeak.net/execnet

have fun, 
holger

1.0.1
--------------------------------

- revamp and better structure documentation

- new method: gateway.hasreceiver() returns True 
  if the gateway is still receive-active. remote_status
  now only carries information about remote execution status.

- new: execnet.MultiChannel provides basic iteration/contain interface

- new: execnet.Group can be indexed by integer

- new: group.makegateway() uses group.default_spec if no spec is given
  and the execnet.default_group uses ``popen`` as a default spec. 

- have popen-gateways use imports instead of source-strings,
  also improves debugging/tracebacks, as a side effect
  popen-gateway startup can be substantially faster (>30%)

- refine internal gateway exit/termination procedure
  and introduce group.terminate(timeout) which will
  attempt to kill all subprocesses that did not terminate
  within time.

- EOFError on channel.receive/waitclose if the other
  side unexpectedly went away.  When a gateway exits 
  it now internally sends an explicit termination message
  instead of abruptly closing.  

- introduce a timeout parameter to channel.receive() 
  and default to periodically internally wake up
  to let KeyboardInterrupts pass through.

- EXECNET_DEBUG=2 will cause tracing to go to stderr,
  which with popen slave gateways will relay back 
  tracing to the instantiator process.
  

1.0.0
--------------------------------

* introduce execnet.Group for managing gateway creation 
  and termination.  Introduce execnet.default_group through which 
  all "global" calls are routed.  cleanup gateway termination.
  All Gateways get an id through which they can be 
  retrieved from a group object.

* deprecate execnet.XYZGateway in favour of direct makegateway() calls.

* refine socketserver-examples, experimentally introduce a
  way to indirectly setup a socket server ("installvia")
  through a gateway url.

* refine and automatically test documentation examples 

1.0.0b3
--------------------------------

* fix EXECNET_DEBUG to work with win32 
* add support for serializing longs, sets and frozensets  (thanks
  Benjamin Peterson) 
* introduce remote_status() method which on the low level gives
  information about the remote side of a gateway
* disallow explicit close in remote_exec situation
* perform some more detailed tracing with EXECNET_DEBUG

1.0.0b2
--------------------------------

* make internal protocols more robust against serialization failures

* fix a seralization bug with nested tuples containing empty tuples
  (thanks to ronny for discovering it)

* setting the environment variable EXECNET_DEBUG will generate per
  process trace-files for debugging

1.0.0b1
----------------------------

* added new examples for NumPy, Jython, IronPython
* improved documentation
* include apipkg.py for lazy-importing
* integrated new serializer code from Benjamin Peterson
* improved support for Jython-2.5.1

1.0.0alpha2 
----------------------------

* improve documentation, new website

* use sphinx for documentation, added boilerplate files and setup.py 

* fixes for standalone usage, adding boilerplate files

* imported py/execnet and made it work standalone




More information about the Python-list mailing list