Skip to content

Client protection #150

Description

@rroodll

I'd like to add a feature that would isolate the clients. The idea is that if more than 1 client is connected to the IS, it will not allow multiple clients to use the same instruments. This should protect multiple experiments from stepping on each other accidentally.

This should include a way to track if a client has "gone away", i.e. crashed and needs to recover. I don't believe a timeout would be useful since a client could be dormant for long periods of time while an experiment possibly runs for days (or longer?).

A way to reconnect a client that had started an experiment or been disconnected, would be helpful. I imagine the need to reconnect and "catch up" with a running experiment where it is, if possible as well.

Other possible things:

  1. graceful cleanup of instrument states would be preferable. Meaning not having to run around restarting all the instruments in the system manually.
  2. robust logging (i.e. ERROR, WARN, DEBUG, TRACE)
  3. investigate the difficulty of tracking state of instruments should the IS itself crash and need to reconnect to a running experiment.

Just jotting down some ideas in a place that can be tracked.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions