Tyler Goodlet
f1acbd9b84
Stash the type string from remote errors
2021-01-27 14:41:17 -05:00
Tyler Goodlet
4a4a786763
Add a super basic supervisor/restart example
2021-01-27 14:40:55 -05:00
Tyler Goodlet
70c7e09831
Add class style "actors" example with client proxy API
2021-01-24 20:41:03 -05:00
Tyler Goodlet
47d7b603db
Use a global dataclass instead, cuz we like "objects"?
2021-01-24 15:18:52 -05:00
Tyler Goodlet
7f8c5cdfe6
Add an actor "state mutation" via messages example
2021-01-24 14:54:46 -05:00
Tyler Goodlet
ce61230815
Fix more stdlib typing issues with latest mypy
2021-01-24 14:53:58 -05:00
Tyler Goodlet
5da86a0e48
Ignore type checks on stdlib overrides
2021-01-24 14:53:58 -05:00
Tyler Goodlet
2ed071c903
Add `aclosing()` around asyn gen loop
2021-01-24 14:53:58 -05:00
Tyler Goodlet
5db737d368
Run parallel examples
2021-01-24 14:53:58 -05:00
Tyler Goodlet
47651eaf91
Contain the error
2021-01-24 14:53:58 -05:00
Tyler Goodlet
582eda4afd
Add concise readme example
2021-01-24 14:53:58 -05:00
Tyler Goodlet
dae154e470
More comments
2021-01-24 14:53:58 -05:00
Tyler Goodlet
a10c4b172a
Yield results on demand using a mem chan
2021-01-24 14:53:58 -05:00
Tyler Goodlet
f715a0cae8
Remove use of tractor.run()
2021-01-24 14:53:58 -05:00
Tyler Goodlet
da27d96682
Make new paralellism example space
2021-01-24 14:53:58 -05:00
Tyler Goodlet
9fae34a190
Add our version of the std lib's "worker pool"
...
This is a draft of the `tractor` way to implement the example from the
"processs pool" in the stdlib's `concurrent.futures` docs:
https://docs.python.org/3/library/concurrent.futures.html#processpoolexecutor-example
Our runtime is of course slower to startup but once up we of course get
the same performance, this confirms that we need to focus some effort
not on warm up and teardown times. The mp forkserver method definitely
improves startup delay; rolling our own will likely be a good hot spot
to play with.
What's really nice is our implementation is done in approx 10th the code ;)
Also, do we want offer and interface that yields results as they arrive?
Relates to #175
2021-01-24 14:53:58 -05:00
goodboy
d8b6c0093c
Merge pull request #188 from goodboy/we_aint_got_zombie_shields
...
We aint got zombie shields
2021-01-18 11:01:14 -05:00
goodboy
8fdab8e0be
Merge pull request #187 from goodboy/deprecate_rpcmodpaths
...
Begin rpc_module_paths deprecation
2021-01-14 18:28:16 -05:00
Tyler Goodlet
9f4e497b9c
Don't shield proc waits
2021-01-14 18:21:26 -05:00
Tyler Goodlet
14d60147fa
Add an example which breaks shielded proc waits
2021-01-14 18:21:26 -05:00
Tyler Goodlet
e546ead2ff
Pub sub internals type fixes
2021-01-14 18:20:59 -05:00
Tyler Goodlet
3df001f3a9
Fix msg pub global lock sharing
...
Using `None` as the default key for a `@msg.pub` can cause conflicts if
there is more then one "taskless" (no tasks={,} passed) pub offered on
an actor... So instead use the first trio "task name" (usually just the
function name) instead thus avoiding this very hard to debug and
understand problem.
Probably should throw in a test but I'm super lazy today.
2021-01-14 18:20:49 -05:00
Tyler Goodlet
5ed5d18ccb
Begin rpc_module_paths deprecation
2021-01-08 22:08:45 -05:00
goodboy
dfaf1e3631
Merge pull request #185 from goodboy/implicit_runtime
...
Implicit runtime
2021-01-08 22:07:43 -05:00
Tyler Goodlet
32b10681a1
Drop tractor.run() from @tractor_test
2021-01-08 20:56:03 -05:00
Tyler Goodlet
41a4de5af2
Use actual task name lel
2021-01-08 20:55:42 -05:00
Tyler Goodlet
59421d9f3a
Fix some borked tests
2021-01-08 20:55:11 -05:00
Tyler Goodlet
333ddcf93f
Can we ever really appease mypy?
2021-01-03 11:18:31 -05:00
Tyler Goodlet
0bb2163b0c
Implicitly open root actor on first nursery use.
2021-01-02 21:39:30 -05:00
Tyler Goodlet
bd3059f01b
Allow for error bypass
2021-01-02 21:39:30 -05:00
Tyler Goodlet
803152ead5
Use explicit named args
2021-01-02 21:39:30 -05:00
Tyler Goodlet
e6245671b0
Use runtime level on attach
2021-01-02 21:38:55 -05:00
goodboy
bfe500060f
Merge pull request #181 from goodboy/drop_tractor_run
...
Deprecate `tractor.run()`
2020-12-28 12:53:04 -05:00
goodboy
3a5daa5b7a
Merge pull request #169 from goodboy/py3.9
...
Py3.9
2020-12-27 14:30:39 -05:00
Tyler Goodlet
723fb17394
Add deprecation warning to run()
2020-12-27 13:29:30 -05:00
Tyler Goodlet
f05534e472
Re-org root actor startup into context manager
...
This begins the move to dropping support for `tractor.run()` which we
don't really need since the runtime is started (as it always has been)
from a new sub-task / nursery. Instead this introduces starting the
actor tree through a `open_root_actor()` async context manager which
we'll likely implicitly call (from the root) on the first use of an
actor nursery.
Drop `_actor._start_actor()` and factor its contents into this new api.
Make `run()` and `run_daemon()` use `open_root_actor()` until we decide
to remove them.
Relates to #168 and #177
2020-12-27 13:29:30 -05:00
Tyler Goodlet
b040cdc0c9
Add null byte guard from mainline
2020-12-27 13:28:54 -05:00
Tyler Goodlet
02ac20a43c
Include Python 3.9 in CI
2020-12-27 13:28:54 -05:00
goodboy
f427c98cf6
Merge pull request #178 from goodboy/denoise_logging
...
Denoise logging
2020-12-27 13:10:17 -05:00
Tyler Goodlet
5127effd88
Drop warning level logging assert(s)
2020-12-26 15:45:55 -05:00
Tyler Goodlet
6b650c0fe6
Add a "runtime" log level
2020-12-26 15:45:45 -05:00
Tyler Goodlet
0d05a727b6
Use error log level by default
2020-12-25 15:28:32 -05:00
Tyler Goodlet
c28ffd8b1c
Don't exception log multi-cancels
2020-12-25 15:23:59 -05:00
Tyler Goodlet
5d7a4e2b12
Denoise some common teardown "errors" to warnings.
2020-12-25 15:10:20 -05:00
Tyler Goodlet
8522f90000
Add type annots to exceptions mod
...
Also add a `is_multi_cancelled()` predicate to test for
`trio.MultiError`s that contain entirely cancel signals.
Resolves #125
2020-12-25 15:07:36 -05:00
goodboy
f4f39c29f3
Merge pull request #174 from goodboy/func_refs_always
...
Allow passing function refs to `Portal.run()`
2020-12-22 19:45:10 -05:00
Tyler Goodlet
4bf9b27f57
Drop all .statespace refs; it was a silly idea
2020-12-22 19:33:16 -05:00
Tyler Goodlet
0eba5f4708
Port remaining tests to pass func refs
2020-12-22 10:39:47 -05:00
Tyler Goodlet
493f2efb50
Port tests to `Portal.run_from_ns()`
2020-12-22 10:39:47 -05:00
Tyler Goodlet
9fd3c42eb1
Port inter-process method calls to `Portal.run_from_ns()`
2020-12-22 10:39:47 -05:00