30 lines
743 B
Python
30 lines
743 B
Python
import trio
|
|
import tractor
|
|
|
|
|
|
async def name_error():
|
|
getattr(doggypants) # noqa (on purpose)
|
|
|
|
|
|
async def main():
|
|
async with tractor.open_nursery(
|
|
debug_mode=True,
|
|
# loglevel='transport',
|
|
) as an:
|
|
|
|
# TODO: ideally the REPL arrives at this frame in the parent,
|
|
# ABOVE the @api_frame of `Portal.run_in_actor()` (which
|
|
# should eventually not even be a portal method ... XD)
|
|
# await tractor.pause()
|
|
p: tractor.Portal = await an.run_in_actor(name_error)
|
|
|
|
# with this style, should raise on this line
|
|
await p.result()
|
|
|
|
# with this alt style should raise at `open_nusery()`
|
|
# return await p.result()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
trio.run(main)
|