Drop `tractor.run()` from all examples

drop_run
Tyler Goodlet 2021-02-24 13:39:14 -05:00
parent ffd10e193e
commit 98a0594c26
19 changed files with 74 additions and 35 deletions

View File

@ -1,3 +1,4 @@
import trio
import tractor import tractor
_this_module = __name__ _this_module = __name__
@ -40,4 +41,4 @@ async def main():
if __name__ == '__main__': if __name__ == '__main__':
tractor.run(main) trio.run(main)

View File

@ -1,3 +1,4 @@
import trio
import tractor import tractor
@ -23,4 +24,4 @@ async def main():
if __name__ == '__main__': if __name__ == '__main__':
tractor.run(main) trio.run(main)

View File

@ -1,3 +1,4 @@
import trio
import tractor import tractor
@ -30,4 +31,4 @@ async def main():
if __name__ == '__main__': if __name__ == '__main__':
tractor.run(main) trio.run(main)

View File

@ -14,11 +14,14 @@ async def stream_forever():
async def main(): async def main():
# stream for at most 1 seconds # stream for at most 1 seconds
with trio.move_on_after(1) as cancel_scope: with trio.move_on_after(1) as cancel_scope:
async with tractor.open_nursery() as n: async with tractor.open_nursery() as n:
portal = await n.start_actor( portal = await n.start_actor(
f'donny', 'donny',
rpc_module_paths=[__name__], rpc_module_paths=[__name__],
) )
@ -34,4 +37,4 @@ async def main():
if __name__ == '__main__': if __name__ == '__main__':
tractor.run(main) trio.run(main)

View File

@ -11,7 +11,7 @@ async def breakpoint_forever():
async def name_error(): async def name_error():
"Raise a ``NameError``" "Raise a ``NameError``"
getattr(doggypants) getattr(doggypants) # noqa
async def main(): async def main():

View File

@ -4,7 +4,7 @@ import tractor
async def name_error(): async def name_error():
"Raise a ``NameError``" "Raise a ``NameError``"
getattr(doggypants) getattr(doggypants) # noqa
async def breakpoint_forever(): async def breakpoint_forever():

View File

@ -1,9 +1,10 @@
import trio
import tractor import tractor
async def name_error(): async def name_error():
"Raise a ``NameError``" "Raise a ``NameError``"
getattr(doggypants) getattr(doggypants) # noqa
async def spawn_error(): async def spawn_error():
@ -32,7 +33,9 @@ async def main():
- root actor should then fail on assert - root actor should then fail on assert
- program termination - program termination
""" """
async with tractor.open_nursery() as n: async with tractor.open_nursery(
debug_mode=True,
) as n:
# spawn both actors # spawn both actors
portal = await n.run_in_actor( portal = await n.run_in_actor(
@ -54,4 +57,4 @@ async def main():
if __name__ == '__main__': if __name__ == '__main__':
tractor.run(main, debug_mode=True) trio.run(main)

View File

@ -11,7 +11,7 @@ async def breakpoint_forever():
async def name_error(): async def name_error():
"Raise a ``NameError``" "Raise a ``NameError``"
getattr(doggypants) getattr(doggypants) # noqa
async def spawn_error(): async def spawn_error():
@ -36,7 +36,9 @@ async def main():
`-python -m tractor._child --uid ('spawn_error', '52ee14a5 ...) `-python -m tractor._child --uid ('spawn_error', '52ee14a5 ...)
`-python -m tractor._child --uid ('name_error', '3391222c ...) `-python -m tractor._child --uid ('name_error', '3391222c ...)
""" """
async with tractor.open_nursery() as n: async with tractor.open_nursery(
debug_mode=True,
) as n:
# Spawn both actors, don't bother with collecting results # Spawn both actors, don't bother with collecting results
# (would result in a different debugger outcome due to parent's # (would result in a different debugger outcome due to parent's
@ -47,4 +49,4 @@ async def main():
if __name__ == '__main__': if __name__ == '__main__':
tractor.run(main, debug_mode=True) trio.run(main)

View File

@ -4,12 +4,16 @@ import tractor
async def main(): async def main():
await trio.sleep(0.1) async with tractor.open_root_actor(
debug_mode=True,
):
await tractor.breakpoint() await trio.sleep(0.1)
await trio.sleep(0.1) await tractor.breakpoint()
await trio.sleep(0.1)
if __name__ == '__main__': if __name__ == '__main__':
tractor.run(main, debug_mode=True) trio.run(main)

View File

@ -1,11 +1,15 @@
import trio
import tractor import tractor
async def main(): async def main():
while True: async with tractor.open_root_actor(
await tractor.breakpoint() debug_mode=True,
):
while True:
await tractor.breakpoint()
if __name__ == '__main__': if __name__ == '__main__':
tractor.run(main, debug_mode=True) trio.run(main)

View File

@ -1,9 +1,13 @@
import trio
import tractor import tractor
async def main(): async def main():
assert 0 async with tractor.open_root_actor(
debug_mode=True,
):
assert 0
if __name__ == '__main__': if __name__ == '__main__':
tractor.run(main, debug_mode=True) trio.run(main)

View File

@ -1,9 +1,10 @@
import trio
import tractor import tractor
async def name_error(): async def name_error():
"Raise a ``NameError``" "Raise a ``NameError``"
getattr(doggypants) getattr(doggypants) # noqa
async def spawn_until(depth=0): async def spawn_until(depth=0):
@ -37,7 +38,10 @@ async def main():
python -m tractor._child --uid ('name_error', '6c2733b8 ...) python -m tractor._child --uid ('name_error', '6c2733b8 ...)
""" """
async with tractor.open_nursery() as n: async with tractor.open_nursery(
debug_mode=True,
loglevel='warning'
) as n:
# spawn both actors # spawn both actors
portal = await n.run_in_actor( portal = await n.run_in_actor(
@ -58,4 +62,4 @@ async def main():
if __name__ == '__main__': if __name__ == '__main__':
tractor.run(main, debug_mode=True, loglevel='warning') trio.run(main)

View File

@ -12,7 +12,9 @@ async def breakpoint_forever():
async def main(): async def main():
async with tractor.open_nursery() as n: async with tractor.open_nursery(
debug_mode=True,
) as n:
portal = await n.run_in_actor( portal = await n.run_in_actor(
breakpoint_forever, breakpoint_forever,
@ -21,4 +23,4 @@ async def main():
if __name__ == '__main__': if __name__ == '__main__':
tractor.run(main, debug_mode=True, loglevel='debug') trio.run(main)

View File

@ -1,3 +1,4 @@
import trio
import tractor import tractor
@ -6,11 +7,13 @@ async def name_error():
async def main(): async def main():
async with tractor.open_nursery() as n: async with tractor.open_nursery(
debug_mode=True,
) as n:
portal = await n.run_in_actor(name_error) portal = await n.run_in_actor(name_error)
await portal.result() await portal.result()
if __name__ == '__main__': if __name__ == '__main__':
tractor.run(main, debug_mode=True) trio.run(main)

View File

@ -68,10 +68,11 @@ async def aggregate(seed):
# this is the main actor and *arbiter* # this is the main actor and *arbiter*
async def main(): async def main():
# a nursery which spawns "actors" # a nursery which spawns "actors"
async with tractor.open_nursery() as nursery: async with tractor.open_nursery(
arbiter_addr=('127.0.0.1', 1616)
) as nursery:
seed = int(1e3) seed = int(1e3)
import time
pre_start = time.time() pre_start = time.time()
portal = await nursery.start_actor( portal = await nursery.start_actor(
@ -100,4 +101,4 @@ async def main():
if __name__ == '__main__': if __name__ == '__main__':
final_stream = tractor.run(main, arbiter_addr=('127.0.0.1', 1616)) final_stream = trio.run(main)

View File

@ -10,6 +10,7 @@ PRIMES = [
115797848077099, 115797848077099,
1099726899285419] 1099726899285419]
def is_prime(n): def is_prime(n):
if n < 2: if n < 2:
return False return False
@ -24,6 +25,7 @@ def is_prime(n):
return False return False
return True return True
def main(): def main():
with concurrent.futures.ProcessPoolExecutor() as executor: with concurrent.futures.ProcessPoolExecutor() as executor:
start = time.time() start = time.time()
@ -33,6 +35,7 @@ def main():
print(f'processing took {time.time() - start} seconds') print(f'processing took {time.time() - start} seconds')
if __name__ == '__main__': if __name__ == '__main__':
start = time.time() start = time.time()

View File

@ -4,7 +4,7 @@ Demonstration of the prime number detector example from the
https://docs.python.org/3/library/concurrent.futures.html#processpoolexecutor-example https://docs.python.org/3/library/concurrent.futures.html#processpoolexecutor-example
This uses no extra threads, fancy semaphores or futures; all we need This uses no extra threads, fancy semaphores or futures; all we need
is ``tractor``'s channels. is ``tractor``'s channels.
""" """

View File

@ -1,3 +1,4 @@
import trio
import tractor import tractor
@ -24,6 +25,6 @@ async def main():
if __name__ == '__main__': if __name__ == '__main__':
try: try:
# also raises # also raises
tractor.run(main) trio.run(main)
except tractor.RemoteActorError: except tractor.RemoteActorError:
print("Look Maa that actor failed hard, hehhh!") print("Look Maa that actor failed hard, hehhh!")

View File

@ -1,7 +1,9 @@
import trio
import tractor import tractor
tractor.log.get_console_log("INFO") tractor.log.get_console_log("INFO")
async def main(service_name): async def main(service_name):
async with tractor.open_nursery() as an: async with tractor.open_nursery() as an:
@ -17,4 +19,4 @@ async def main(service_name):
if __name__ == '__main__': if __name__ == '__main__':
tractor.run(main, 'some_actor_name') trio.run(main, 'some_actor_name')