Tyler Goodlet
20d281f619
Run `mypy` on 3.10
2022-04-12 12:53:12 -04:00
Tyler Goodlet
f3606d5bd8
Type fixes
2022-04-12 11:48:32 -04:00
Tyler Goodlet
032e14e326
Update new license info in setup script
2022-04-12 11:42:44 -04:00
Tyler Goodlet
c322a193f2
Make `LinkedTaskChannel` trio-task-broadcastable with `.subscribe()`
2022-04-12 11:42:44 -04:00
Tyler Goodlet
46963c2e63
Don't handle `GeneratorExit` on `asyncio` tasks
2022-04-12 11:42:44 -04:00
Tyler Goodlet
9b77b8c9ee
Add more explicit `asyncio` task error logging
...
When an `asyncio` side task errors or is cancelled we now explicitly
report the traceback and task name if possible as well as the source
reason for the error (some come from the `trio` side).
Further, properly set any `trio` side exception (after unwrapping it
from the `outcome.Error`) on the future that runs the `trio` guest run.
2022-04-12 11:42:44 -04:00
Tyler Goodlet
13c8300226
Add a sub-actor managed service nursery test scenario
2022-04-12 11:42:44 -04:00
goodboy
1109d96263
Merge pull request #303 from goodboy/fence_mp
...
Fence mp
2022-04-12 10:13:57 -04:00
Tyler Goodlet
65b4bc8888
Add misc nooz file
2022-04-12 08:35:13 -04:00
Tyler Goodlet
bef9946f91
Allow re-running jobs from web UI manually?
2022-04-11 17:37:06 -04:00
Tyler Goodlet
c30cece37a
Fix one missing import/ref
2022-02-17 13:03:37 -05:00
Tyler Goodlet
509082c935
Port to new `msgspec` error type
2022-02-17 11:55:26 -05:00
Tyler Goodlet
75bb1added
Avoid importing mp for as long as possible
2022-02-17 11:55:26 -05:00
goodboy
6e5590dad6
Merge pull request #300 from goodboy/msgpack_lists_by_default
...
Use lists by default like `msgspec`, update to latest `msgspec` and `msgpack` releases
2022-02-15 09:08:20 -05:00
Tyler Goodlet
76a0492028
Fix type annot
2022-02-15 08:52:04 -05:00
Tyler Goodlet
4eab4a0213
Type fix
2022-02-15 08:51:25 -05:00
Tyler Goodlet
0edc6a26bc
Go back to strict map keys
2022-02-15 08:48:43 -05:00
Tyler Goodlet
c5acc3b969
Pack tuple keys as . delim strs in registry tests
2022-02-15 08:48:07 -05:00
Tyler Goodlet
17e195aacf
They renamed to `msgpack` and the version is 1.0.3
2022-02-14 16:03:54 -05:00
Tyler Goodlet
c65756ed80
Add nooz
2022-02-14 16:03:10 -05:00
Tyler Goodlet
927decc88d
Pin to latest `msgspec` version
2022-02-14 14:14:05 -05:00
Tyler Goodlet
17bfa120cc
Port to msgpec `0.4.0` imports
2022-02-14 14:05:55 -05:00
Tyler Goodlet
77ddc073e8
Use lists by default like `msgspec`
2022-02-09 10:07:33 -05:00
goodboy
26bebc42b7
Merge pull request #295 from goodboy/nspaths
...
`NamespacePath`: a message compatible "object reference" type
2022-01-30 12:40:05 -05:00
Tyler Goodlet
87de28fd88
Slight doc string update
2022-01-30 12:21:41 -05:00
Tyler Goodlet
56b29c27de
Add msg serialization coding todo resources list
2022-01-30 12:19:21 -05:00
Tyler Goodlet
adf9a1d0aa
Add nooz
2022-01-30 12:17:32 -05:00
Tyler Goodlet
25a27e780d
Add todo resources for eventual capability-based module filtering
2022-01-30 11:28:10 -05:00
Tyler Goodlet
c265f3f94e
Move namespace path type into `msg` mod
2022-01-30 11:27:34 -05:00
Tyler Goodlet
2900ceb003
Not all objects have a `.__name__`
2022-01-30 11:26:34 -05:00
Tyler Goodlet
b6ae77b5ac
Use `pkgutils.resolve_name()` and a `str` subtype
...
Python 3.9's new object resolver + a `str` is much simpler then mucking
with tuples (and easier to serialize). Include a `.to_tuple()` formatter
since we still are passing the module namespace and function name
separately inside the runtime's message format but in theory we might be
able to simplify this depending on how we would change the support for
`enable_modules:list[str]` in the spawn API.
Thanks to @Fuyukai for pointing `resolve_name()` which I didn't know
about before!
2022-01-30 11:26:34 -05:00
Tyler Goodlet
949cb2c9fe
First draft "namespace path" named tuple; probably will discard
2022-01-30 11:26:34 -05:00
goodboy
094206ee9d
Merge pull request #298 from goodboy/experimental_subpkg
...
Add `tractor.experimental` subpkg
2022-01-29 19:19:50 -05:00
Tyler Goodlet
debbf64d58
Add nooz
2022-01-29 17:58:58 -05:00
Tyler Goodlet
070e6ba459
Add `.experimental` subpkg to setup.py
2022-01-29 14:30:39 -05:00
Tyler Goodlet
7e004c0688
Add back blank `msg.py`
2022-01-29 14:22:15 -05:00
Tyler Goodlet
ffe88de53b
Better idea: start a `tractor.experimental` subpkg
2022-01-29 14:03:55 -05:00
Tyler Goodlet
d29a915d48
Update mod doc string
2022-01-29 14:02:04 -05:00
Tyler Goodlet
be87caa99b
Move legacy pubsub stuff from `msg.py` to trionics mod
2022-01-29 14:02:04 -05:00
goodboy
0b51ebfe11
Merge pull request #284 from goodboy/maybe_cancel_the_cancel_
...
Cancel the `.cancel_actor()` request on proc death
2022-01-21 14:22:48 -05:00
Tyler Goodlet
4bf7992200
Bump to alpha 5 dev
2022-01-21 13:05:26 -05:00
Tyler Goodlet
41296448e8
Add nooz
2022-01-21 12:49:26 -05:00
Tyler Goodlet
9650055519
Use `.exitcode` which is poll + error handling
2022-01-21 12:49:26 -05:00
Tyler Goodlet
532974fb90
Drop leftover print
2022-01-21 12:49:26 -05:00
Tyler Goodlet
b1d72b77c9
Patch mp procs with a `.poll()`
...
Not sure why they don't already expose this from the `Popen` backends
but, k.
2022-01-21 12:49:26 -05:00
Tyler Goodlet
a2171c7e71
Cancel the `.cancel_actor()` request on proc death
...
Adjust the `soft_wait()` strategy to avoid sending needless cancel
requests if it is known that a child process is already terminated or
does so before the cancel request times out. This should be no slower
and should avoid needless waits on either closure-in-progress or already
closed channels.
Basic strategy is,
- request child actor to cancel
- if process termination is detected, cancel the cancel
- if the process is still alive after a cancel request timeout warn the
user and yield back to the hard reap handling
2022-01-21 12:49:26 -05:00
goodboy
30986d6b64
Merge pull request #292 from goodboy/moar_timeoutz
...
Moar timeoutz
2022-01-21 12:49:01 -05:00
Tyler Goodlet
9ab04b1f6b
One more increase for py3.10
2022-01-21 12:20:06 -05:00
Tyler Goodlet
b3ff4b7804
Increase some timeouts for windows
2022-01-21 12:20:06 -05:00
goodboy
d27bdbd40e
Merge pull request #291 from goodboy/drop_old_nooz_files
...
Drop old fragments that `towncrier` somehow missed
2022-01-21 12:17:46 -05:00