From 98a0594c26df9993ac557a2ad1df335d966ba92d Mon Sep 17 00:00:00 2001 From: Tyler Goodlet Date: Wed, 24 Feb 2021 13:39:14 -0500 Subject: [PATCH] Drop `tractor.run()` from all examples --- examples/a_trynamic_first_scene.py | 3 ++- examples/actor_spawning_and_causality.py | 3 ++- examples/actor_spawning_and_causality_with_daemon.py | 3 ++- examples/asynchronous_generators.py | 7 +++++-- examples/debugging/multi_daemon_subactors.py | 2 +- ...ti_nested_subactors_error_up_through_nurseries.py | 2 +- examples/debugging/multi_subactor_root_errors.py | 9 ++++++--- examples/debugging/multi_subactors.py | 8 +++++--- examples/debugging/root_actor_breakpoint.py | 12 ++++++++---- examples/debugging/root_actor_breakpoint_forever.py | 10 +++++++--- examples/debugging/root_actor_error.py | 8 ++++++-- .../root_cancelled_but_child_is_in_tty_lock.py | 10 +++++++--- examples/debugging/subactor_breakpoint.py | 6 ++++-- examples/debugging/subactor_error.py | 7 +++++-- examples/full_fledged_streaming_service.py | 7 ++++--- examples/parallelism/_concurrent_futures_primes.py | 3 +++ examples/parallelism/concurrent_actors_primes.py | 2 +- examples/remote_error_propagation.py | 3 ++- examples/service_discovery.py | 4 +++- 19 files changed, 74 insertions(+), 35 deletions(-) diff --git a/examples/a_trynamic_first_scene.py b/examples/a_trynamic_first_scene.py index dca59c2..1d53125 100644 --- a/examples/a_trynamic_first_scene.py +++ b/examples/a_trynamic_first_scene.py @@ -1,3 +1,4 @@ +import trio import tractor _this_module = __name__ @@ -40,4 +41,4 @@ async def main(): if __name__ == '__main__': - tractor.run(main) + trio.run(main) diff --git a/examples/actor_spawning_and_causality.py b/examples/actor_spawning_and_causality.py index ca793f1..119726d 100644 --- a/examples/actor_spawning_and_causality.py +++ b/examples/actor_spawning_and_causality.py @@ -1,3 +1,4 @@ +import trio import tractor @@ -23,4 +24,4 @@ async def main(): if __name__ == '__main__': - tractor.run(main) + trio.run(main) diff --git a/examples/actor_spawning_and_causality_with_daemon.py b/examples/actor_spawning_and_causality_with_daemon.py index 1ab0f88..85f3bb8 100644 --- a/examples/actor_spawning_and_causality_with_daemon.py +++ b/examples/actor_spawning_and_causality_with_daemon.py @@ -1,3 +1,4 @@ +import trio import tractor @@ -30,4 +31,4 @@ async def main(): if __name__ == '__main__': - tractor.run(main) + trio.run(main) diff --git a/examples/asynchronous_generators.py b/examples/asynchronous_generators.py index 47ee136..c0ff5d3 100644 --- a/examples/asynchronous_generators.py +++ b/examples/asynchronous_generators.py @@ -14,11 +14,14 @@ async def stream_forever(): async def main(): + # stream for at most 1 seconds with trio.move_on_after(1) as cancel_scope: + async with tractor.open_nursery() as n: + portal = await n.start_actor( - f'donny', + 'donny', rpc_module_paths=[__name__], ) @@ -34,4 +37,4 @@ async def main(): if __name__ == '__main__': - tractor.run(main) + trio.run(main) diff --git a/examples/debugging/multi_daemon_subactors.py b/examples/debugging/multi_daemon_subactors.py index c37b879..c506de4 100644 --- a/examples/debugging/multi_daemon_subactors.py +++ b/examples/debugging/multi_daemon_subactors.py @@ -11,7 +11,7 @@ async def breakpoint_forever(): async def name_error(): "Raise a ``NameError``" - getattr(doggypants) + getattr(doggypants) # noqa async def main(): diff --git a/examples/debugging/multi_nested_subactors_error_up_through_nurseries.py b/examples/debugging/multi_nested_subactors_error_up_through_nurseries.py index e754599..f9adb25 100644 --- a/examples/debugging/multi_nested_subactors_error_up_through_nurseries.py +++ b/examples/debugging/multi_nested_subactors_error_up_through_nurseries.py @@ -4,7 +4,7 @@ import tractor async def name_error(): "Raise a ``NameError``" - getattr(doggypants) + getattr(doggypants) # noqa async def breakpoint_forever(): diff --git a/examples/debugging/multi_subactor_root_errors.py b/examples/debugging/multi_subactor_root_errors.py index 8a7fa43..6c69618 100644 --- a/examples/debugging/multi_subactor_root_errors.py +++ b/examples/debugging/multi_subactor_root_errors.py @@ -1,9 +1,10 @@ +import trio import tractor async def name_error(): "Raise a ``NameError``" - getattr(doggypants) + getattr(doggypants) # noqa async def spawn_error(): @@ -32,7 +33,9 @@ async def main(): - root actor should then fail on assert - program termination """ - async with tractor.open_nursery() as n: + async with tractor.open_nursery( + debug_mode=True, + ) as n: # spawn both actors portal = await n.run_in_actor( @@ -54,4 +57,4 @@ async def main(): if __name__ == '__main__': - tractor.run(main, debug_mode=True) + trio.run(main) diff --git a/examples/debugging/multi_subactors.py b/examples/debugging/multi_subactors.py index 0d5ee83..259d526 100644 --- a/examples/debugging/multi_subactors.py +++ b/examples/debugging/multi_subactors.py @@ -11,7 +11,7 @@ async def breakpoint_forever(): async def name_error(): "Raise a ``NameError``" - getattr(doggypants) + getattr(doggypants) # noqa async def spawn_error(): @@ -36,7 +36,9 @@ async def main(): `-python -m tractor._child --uid ('spawn_error', '52ee14a5 ...) `-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 # (would result in a different debugger outcome due to parent's @@ -47,4 +49,4 @@ async def main(): if __name__ == '__main__': - tractor.run(main, debug_mode=True) + trio.run(main) diff --git a/examples/debugging/root_actor_breakpoint.py b/examples/debugging/root_actor_breakpoint.py index bd4dcb1..5c858d4 100644 --- a/examples/debugging/root_actor_breakpoint.py +++ b/examples/debugging/root_actor_breakpoint.py @@ -4,12 +4,16 @@ import tractor 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__': - tractor.run(main, debug_mode=True) + trio.run(main) diff --git a/examples/debugging/root_actor_breakpoint_forever.py b/examples/debugging/root_actor_breakpoint_forever.py index 0332ab6..3536a75 100644 --- a/examples/debugging/root_actor_breakpoint_forever.py +++ b/examples/debugging/root_actor_breakpoint_forever.py @@ -1,11 +1,15 @@ +import trio import tractor async def main(): - while True: - await tractor.breakpoint() + async with tractor.open_root_actor( + debug_mode=True, + ): + while True: + await tractor.breakpoint() if __name__ == '__main__': - tractor.run(main, debug_mode=True) + trio.run(main) diff --git a/examples/debugging/root_actor_error.py b/examples/debugging/root_actor_error.py index 7486699..fab4633 100644 --- a/examples/debugging/root_actor_error.py +++ b/examples/debugging/root_actor_error.py @@ -1,9 +1,13 @@ +import trio import tractor async def main(): - assert 0 + async with tractor.open_root_actor( + debug_mode=True, + ): + assert 0 if __name__ == '__main__': - tractor.run(main, debug_mode=True) + trio.run(main) diff --git a/examples/debugging/root_cancelled_but_child_is_in_tty_lock.py b/examples/debugging/root_cancelled_but_child_is_in_tty_lock.py index d0a1649..16f92b8 100644 --- a/examples/debugging/root_cancelled_but_child_is_in_tty_lock.py +++ b/examples/debugging/root_cancelled_but_child_is_in_tty_lock.py @@ -1,9 +1,10 @@ +import trio import tractor async def name_error(): "Raise a ``NameError``" - getattr(doggypants) + getattr(doggypants) # noqa async def spawn_until(depth=0): @@ -37,7 +38,10 @@ async def main(): └─ 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 portal = await n.run_in_actor( @@ -58,4 +62,4 @@ async def main(): if __name__ == '__main__': - tractor.run(main, debug_mode=True, loglevel='warning') + trio.run(main) diff --git a/examples/debugging/subactor_breakpoint.py b/examples/debugging/subactor_breakpoint.py index d880404..bcc304d 100644 --- a/examples/debugging/subactor_breakpoint.py +++ b/examples/debugging/subactor_breakpoint.py @@ -12,7 +12,9 @@ async def breakpoint_forever(): 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( breakpoint_forever, @@ -21,4 +23,4 @@ async def main(): if __name__ == '__main__': - tractor.run(main, debug_mode=True, loglevel='debug') + trio.run(main) diff --git a/examples/debugging/subactor_error.py b/examples/debugging/subactor_error.py index 86bb7ca..e38c161 100644 --- a/examples/debugging/subactor_error.py +++ b/examples/debugging/subactor_error.py @@ -1,3 +1,4 @@ +import trio import tractor @@ -6,11 +7,13 @@ async def name_error(): 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) await portal.result() if __name__ == '__main__': - tractor.run(main, debug_mode=True) + trio.run(main) diff --git a/examples/full_fledged_streaming_service.py b/examples/full_fledged_streaming_service.py index 126eed9..31eff62 100644 --- a/examples/full_fledged_streaming_service.py +++ b/examples/full_fledged_streaming_service.py @@ -68,10 +68,11 @@ async def aggregate(seed): # this is the main actor and *arbiter* async def main(): # 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) - import time pre_start = time.time() portal = await nursery.start_actor( @@ -100,4 +101,4 @@ async def main(): if __name__ == '__main__': - final_stream = tractor.run(main, arbiter_addr=('127.0.0.1', 1616)) + final_stream = trio.run(main) diff --git a/examples/parallelism/_concurrent_futures_primes.py b/examples/parallelism/_concurrent_futures_primes.py index 81ae23d..7246b86 100644 --- a/examples/parallelism/_concurrent_futures_primes.py +++ b/examples/parallelism/_concurrent_futures_primes.py @@ -10,6 +10,7 @@ PRIMES = [ 115797848077099, 1099726899285419] + def is_prime(n): if n < 2: return False @@ -24,6 +25,7 @@ def is_prime(n): return False return True + def main(): with concurrent.futures.ProcessPoolExecutor() as executor: start = time.time() @@ -33,6 +35,7 @@ def main(): print(f'processing took {time.time() - start} seconds') + if __name__ == '__main__': start = time.time() diff --git a/examples/parallelism/concurrent_actors_primes.py b/examples/parallelism/concurrent_actors_primes.py index a2aec90..a7a7396 100644 --- a/examples/parallelism/concurrent_actors_primes.py +++ b/examples/parallelism/concurrent_actors_primes.py @@ -4,7 +4,7 @@ Demonstration of the prime number detector example from the 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. """ diff --git a/examples/remote_error_propagation.py b/examples/remote_error_propagation.py index 0999d39..5a4cb37 100644 --- a/examples/remote_error_propagation.py +++ b/examples/remote_error_propagation.py @@ -1,3 +1,4 @@ +import trio import tractor @@ -24,6 +25,6 @@ async def main(): if __name__ == '__main__': try: # also raises - tractor.run(main) + trio.run(main) except tractor.RemoteActorError: print("Look Maa that actor failed hard, hehhh!") diff --git a/examples/service_discovery.py b/examples/service_discovery.py index 9088986..858f7f1 100644 --- a/examples/service_discovery.py +++ b/examples/service_discovery.py @@ -1,7 +1,9 @@ +import trio import tractor tractor.log.get_console_log("INFO") + async def main(service_name): async with tractor.open_nursery() as an: @@ -17,4 +19,4 @@ async def main(service_name): if __name__ == '__main__': - tractor.run(main, 'some_actor_name') + trio.run(main, 'some_actor_name')