Conversation
app/ray/utils.py
Outdated
| if matching_actors: | ||
| return matching_actors | ||
| elif fail_hard: | ||
| raise Exception(f"No matching actors matching prefix {prefix} found in any namespace") |
There was a problem hiding this comment.
@DGaffney So I noticed that there is a strict actor dependency tree that is not currently enforced, ie you can start them out of order and they will boot but they take empty lists in their constructors and will be DOA the minute they try to use the dispatcher. I added this flag to throw exceptions when the list comes back empty. I also expanded search to include all namespaces, since you can set the namespace as an env var now (defaults to main). This would be useful if you wanted to run heterogenous actors like as a/b experiments or something.
| logger.error("Failed to process message: %s", e) | ||
| sentry_sdk.capture_exception(e) | ||
| if settings.stream_debug: | ||
| logger.error(traceback.print_exc()) |
There was a problem hiding this comment.
this is pretty helpful since this is the parent rescue in long chain of async child tasks, but I'm not married to leaving it here if we wanna remove.
There was a problem hiding this comment.
@DGaffney I actually have a submodule with just this jetstream and a slimmed down build, since it doesn't need any of the heavy grazer dependencies. But I haven't pushed it yet because I was curious if this would get replaced at some point by jetstream-turbo?
This PR adds:
omni_boot.pydesigned to be run using the Ray Jobs CLI, ieray job submit --runtime-env omni_env.yaml --submission-id omni01 -- python omni_boot.py