Skip to content

Process management for running odo cli instances #1425

@dgolovin

Description

@dgolovin

From @jeffmaury.

While working on the odo based explorer to JBoss Tools, I noticed that we are starting long running process and those processes are not managed / controlled once launched.
I think we should do and I will explain my proposition.
The long processes are the following:

  • watch
  • follow log
  • debug

Less critical , we also have describe, list services and component and in general each time we launch odo in a terminal. This is less critical because they are less long living.
The problem that we have is:

  • we should stop them when context is switched
  • we should stop them when tooling stops (seems VSCode is handling that properly)
  • we should stop them when we undeploy/delete a component

Another plus is that managing them will prevent multiple executions of the same task and control of state for the debug.

Here is my proposition: each time we start a long running process we keep it at the OdoCli (for JBoss Tools / IJ) level in a map that is keyed by project / application / component / action-type.
Then, we can:

  • while processing delete / undeploy, scan the map to find proper processes to stop
  • while processing debug we can check that debug is already running or not
  • for cleanup before tooling exit or context switch we should add a reset method (this is required btw for proxy support as we need to recompute the HTTPS_PROXY env variable that will be passed to future odo executions

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions