-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Finer object composition for the controller class #84
Comments
One nice simplification would be to have the launcher call |
Launcher-side Also, I am thinking of a couple more changes (unfortunately breaking ones for launcher plugins, but
|
Also should bring back |
In branch Now I need to debug and test:
|
No, this didn't work. |
Best of both worlds: supply both the job name and the pieces. |
In
crew
, everyR6
controller object contains 2 smallerR6
objects:mirai::daemons()
and themirai
dispatcher, andmirai
servers on the user's platform of choice. A launcher plugin is anR6
subclass that inherits from the abstract launcher class.That leaves a lot for the controller to do: namely,
A. Manage
mirai
task objects (e.g.controller$collect()
), andB. Auto-scale
mirai
servers (`controller$scale()).Both A and B are highly nontrivial, and if @shikokuchuo's promising idea from shikokuchuo/mirai#60 (comment) comes to fruition, then each will run on different processes. So from
crew
's side, it makes sense to createR6
classes for each: a "schedule" for A and a "regulator" for B. The regulator will contain the launcher, and it will be shipped to the dispatcher process in shikokuchuo/mirai#60 (comment) to do auto-scaling given a very simple set of inputs.Currently, the object composition structure looks like this:
My goal for the structure is:
The text was updated successfully, but these errors were encountered: