Downloads:
http://www.parallelpython.com/downloads/pp/pp-1.6.0.ziphttp://www.parallelpython.com/downloads/pp/pp-1.6.0.tar.gzhttp://www.parallelpython.com/downloads/pp/pp-1.6.0.tar.bz2http://www.parallelpython.com/downloads/pp/pp-1.6.0.exeChanges w.r.t. 1.5.7:
1) Changed logging mechanism. Now logger is obtained as logging.getLogger('pp').
2) Modified ppworker to use exec instead of eval.
3) Modified exception handling on destruction. Now if server was destroyed,
uncompleted jobs throw DestroyedServerError exception on call.
4) Fixed issue with submitting a method of an instance of a class inherited from another.
5) Added timeouts to all socket operations.
6) Changed default proto type to 2.
7) Moved from thread module to threading. Made all pp threads daemons.
8 ) Refactored ppserver.py to improve testability
9) Fixed bug with ppsecret in user module
10) Fixed issue with argument which is an instance of an imported class
11) Fixed DEBUG logging in ppserver.
12) Added a flag (-f) to ppserver to set a custom log format. Changed default log format.
13) Made printing of the expected exceptions optional and improved the way they are handled.
14) Removed default logging handler from pp module (to improve logging flexibility).
15) Created a common module ppcommon.py and moved common functions there.
16) Fixed issue with pipes not being closed.
17) Fixed issues with ppserver exiting on first connection.
18) Fixed deadlock when using ppworker restart option.
19) Enables support for submodule importing.
Example of how to configure a simple logger at DEBUG level:
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
logger.addHandler(logging.StreamHandler())
server = pp.Server()