Tyler Goodlet
b285db4c58
Factor OCA supervisor into new func
2021-02-24 13:13:38 -05:00
goodboy
35775c6763
Merge pull request #176 from goodboy/eg_worker_poolz
...
Add our version of the std lib's "worker pool"
2021-02-22 09:55:23 -05:00
Tyler Goodlet
2b3beac4b4
Test putting readme in docs dir
2021-02-21 17:52:04 -05:00
goodboy
35dc56d2c5
Merge pull request #194 from goodboy/sync_breakpoint
...
Support sync code breakpointing via built-in
2021-02-21 17:49:43 -05:00
Tyler Goodlet
a93321e48e
Don't run stdlib example as part of test set
2021-02-21 15:41:21 -05:00
Tyler Goodlet
5ffd2d2ab3
Ignore type checks on stdlib overrides
2021-02-21 14:08:23 -05:00
Tyler Goodlet
f7e1c526c5
Add `aclosing()` around asyn gen loop
2021-02-21 14:08:23 -05:00
Tyler Goodlet
07653bc02e
Run parallel examples
2021-02-21 14:08:23 -05:00
Tyler Goodlet
a90a2b8787
Contain the error
2021-02-21 14:08:23 -05:00
Tyler Goodlet
da8c8c1773
Add concise readme example
2021-02-21 14:08:23 -05:00
Tyler Goodlet
57a24cdcf8
More comments
2021-02-21 14:08:23 -05:00
Tyler Goodlet
9b07e9ad7c
Yield results on demand using a mem chan
2021-02-21 14:08:23 -05:00
Tyler Goodlet
3c320f467f
Remove use of tractor.run()
2021-02-21 14:08:23 -05:00
Tyler Goodlet
2555765882
Make new paralellism example space
2021-02-21 14:08:23 -05:00
Tyler Goodlet
7db5739143
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-02-21 14:08:23 -05:00
Tyler Goodlet
7888ef6f01
Fix more stdlib typing issues with latest mypy
2021-02-21 12:48:03 -05:00
Tyler Goodlet
109066dda9
Support sync code breakpointing via built-in
...
Override `breakpoint()` for sync code making it work
properly with `trio` as per:
https://github.com/python-trio/trio/issues/1155#issuecomment-742964018
Relates to #193
2021-02-21 12:36:00 -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