Skip to content
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

Major rework of command submission + task events #359

Merged
merged 6 commits into from
Jul 10, 2024
Merged

Commits on Jul 10, 2024

  1. Rework the $do_command -> parse command cycle

      * Moves the logic for running $do_command out of the `RpcServer` and
        into the task itself.
      * It's a big gronky, but I wrote tests. And the tests pass.
      * Removed the blocking watch command piece from rpc_server.rs, so
        another means is going to be necessary for reporting failures back
        to the host.
    rdaum committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    c266d09 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c3904e3 View commit details
    Browse the repository at this point in the history
  3. Major reworking of the RPC layer to handle async events

      * Errors from task submissions are now handled asynchronously,
        published out to clients as they complete, rather than blocking
        the rpc server (& telnet connection)
      * "narrative" pubsub stream now becomes "events", more generic
      * Moved SchedulerError and friends up into model, & cleaned up the
        Rpc error enum to use that instead of duplicating a bunch of
        values.
      * All tests pass, JHCore runs.
    rdaum committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    1bf15bf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ec53be0 View commit details
    Browse the repository at this point in the history
  5. Move scheduler-related errors and structs to their own module

    I had moved them to `model` but that should be for the world state
    stuff.
    
    This adds a `tasks` module which exports various scheduler / task
    interface related things like errors, TaskId, events
    rdaum committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    7d6fe7b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4061434 View commit details
    Browse the repository at this point in the history