[svn r60976] a few notes regarding improving remote tracebacks for py.execnet
--HG-- branch : trunk
This commit is contained in:
parent
617afe71a1
commit
021c1e943d
|
@ -0,0 +1,31 @@
|
||||||
|
Goal: "remote" tracebacks have file/lineno references to local source code
|
||||||
|
|
||||||
|
Current Problem:
|
||||||
|
tracebacks have file/lineno references that point to one
|
||||||
|
large file (consisting of all source code of all modules that
|
||||||
|
we sent as a bootstrap). Makes debugging execnet harder.
|
||||||
|
|
||||||
|
solution variant 0: minimal change to source code
|
||||||
|
at master side: send name/source pairs
|
||||||
|
at slave side: put each module into own file, re-using basename of source file
|
||||||
|
|
||||||
|
solution variant 1: aimed at simplicity
|
||||||
|
pack and send zip of py lib containing py.__.execnet, py.__.thread, etc
|
||||||
|
put this into some file-location at the other side, add it to sys.path
|
||||||
|
(or experiment with zipfile-imports over RAM and sys.meta_hooks/path_hooks)
|
||||||
|
|
||||||
|
solution variant 2: aimed at minimizing bandwidth usage
|
||||||
|
|
||||||
|
initiating side receiving side
|
||||||
|
-------------------------------------------------------------
|
||||||
|
loop:
|
||||||
|
send [dottedname1: hash1]
|
||||||
|
serve_hash_requests
|
||||||
|
if not lookup(hash1):
|
||||||
|
send(dottedname1: hash1)
|
||||||
|
content = receive(hash1)
|
||||||
|
else:
|
||||||
|
content = get(hash1)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue