'structured concurrent `trio`-"actors"'
https://github.com/goodboy/tractor
49573c9a03
Here is a bunch of code tightening to make sure cancellation works even if recently spawned actors haven't fully started up and the parent is cancelled. The fixes include: - passing the arbiter socket address to each actor - ensure all spawned actors respect the spawner's log level - handle process versus final `portal.result()` teardown in multiple tasks such that if a proc dies before shipping a result we don't wait - more detailed debug logging in teardown code paths - don't store peer connected events in the same `dict` as the peer channels - if necessary fake main task results on peer channel disconnect - warn when a `trio.Cancelled` is what causes a nursery to bail otherwise error - store the subactor portal in the nursery for teardown purposes - add dedicated `Portal.cancel_actor()` which acts as a "hard cancel" and never blocks (indefinitely) - add `Arbiter.unregister_actor()` it's more explicit what's being requested |
||
---|---|---|
tests | ||
tractor | ||
.gitignore | ||
LICENSE | ||
README.md | ||
requirements-test.txt | ||
setup.py |
README.md
tractor
async, multicore, distributed Python built on trio