PythonBarCamp2011
Excecnet

Execnet

Author

RonnyPfannschmidt

Zusammenfassung

dies sind die Beispiele aus dem ligthningtalks + ein paar extras

erstellen von lokalen und remote gateways

>>> import execnet
>>> gw = execnet.makegateway()
>>> gw_remote = execnet.makegateway('ssh=codespeak.net')
>>> gw.remote_exec('import sys;channel.send(sys.version)').receive()
'2.6.6 (r266:84292, Apr 20 2011, 09:34:38) \n[GCC 4.5.2]'
>>> gw_remote.remote_exec('import sys;channel.send(sys.version)').receive()
'2.4.2 (#1, Dec 22 2005, 11:47:59) \n[GCC 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)]'

interaktion mit modulen und funktionen

>>> import remote_example
>>> ch = gw.remote_exec(remote_example) #whole module
>>> ch.send('test')
>>> list(ch)
[(0, 't'), (1, 'e'), (2, 's'), (3, 't')]


>>> ch = gw.remote_exec(remote_example.uhm) # non pure function
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/home/ronny/Projects/codespeak/execnet/execnet/gateway.py", line 117, in remote_exec
    source = _source_of_function(source)
  File "/home/ronny/Projects/codespeak/execnet/execnet/gateway.py", line 216, in _source_of_function
    used_globals,
ValueError: ("the use of non-builtin globals isn't supported", ['a'])



>>> ch = gw.remote_exec(remote_example.test, arg1=1)
>>> ch.send(1)
>>> list(ch)

PythonBarCamp2011/Excecnet (last edited 2011-05-02 23:43:46 by RonnyPfannschmidt)