32 lines
753 B
Python
32 lines
753 B
Python
|
import tractor
|
||
|
import trio
|
||
|
|
||
|
|
||
|
async def breakpoint_forever():
|
||
|
"Indefinitely re-enter debugger in child actor."
|
||
|
while True:
|
||
|
yield 'yo'
|
||
|
await tractor.breakpoint()
|
||
|
|
||
|
|
||
|
async def name_error():
|
||
|
"Raise a ``NameError``"
|
||
|
getattr(doggypants)
|
||
|
|
||
|
|
||
|
async def main():
|
||
|
"""Test breakpoint in a streaming actor.
|
||
|
"""
|
||
|
async with tractor.open_nursery() as n:
|
||
|
|
||
|
p0 = await n.start_actor('bp_forever', rpc_module_paths=[__name__])
|
||
|
p1 = await n.start_actor('name_error', rpc_module_paths=[__name__])
|
||
|
|
||
|
# retreive results
|
||
|
stream = await p0.run(__name__, 'breakpoint_forever')
|
||
|
await p1.run(__name__, 'name_error')
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
tractor.run(main, debug_mode=True, loglevel='error')
|