Open rssk opened 1 year ago
While there are several 'headless' client iterations, this one will be geared toward cluster use, as well as UI controllability. It may be useful to investigate later how the other clients can or cannot be rolled into this one
Lets define and name things really clearly and distinctly We've used the word "headless" a number of times for different things already. Define the interface/use case/requirements we are trying to fit. We can begin by setting very narrow aims for this package and along the way find opportunities to decouple and isolate atomic pieces that can be more broadly useful through composition.
The use-case we're serving can be described as: "Running COINSTAC pipelines on computing clusters with HPC schedulers."
Maybe we make a package named something like "coinstac-client-hpc"
• Updates from this local client to the respective user UI might be nice, this could be tricky with GQL subscriptions, at worst case maybe a 'starting, running, finished' (cleaning up pipeline updates would help this + tracking down why updates are slow often)
Are there currently separate channels for status updates to get to the UI? GraphQL subscriptions are one way information gets to the UI. Is there currently another form of communication that comes from the local pipeline to the UI?
What is different about using COINSTAC with HPC schedulers than in a normal desktop environment?
Here are some requirements I'm confident are needed:
Task Description
While there are several 'headless' client iterations, this one will be geared toward cluster use, as well as UI controllability. It may be useful to investigate later how the other clients can or cannot be rolled into this one
Requirements