rkhmelyuk / multirun

IntellijIDEA plugin to group and run multiple Run Configurations in a single click
http://plugins.jetbrains.com/plugin/7248
Apache License 2.0
94 stars 27 forks source link

Start next configuration after specific output from previous? #80

Open martin-bjorling opened 3 years ago

martin-bjorling commented 3 years ago

I have an application with several run configurations which starts a bunch of different servers. These servers has to be started in a specific order, and I have to wait for one server to finish the startup sequence before starting the next one.

My problem is that when I start a specific server, it will not exit with an exit code since the application requires all these server so be running. Instead, the way it works is that when server A outputs a specific message in the console (normally "Server started"), then I can start server B etc.

Depending on several things, these servers usually takes a very different amount of time to start, for example, the first one usually takes several minutes to start, while the second one usually takes about 30 seconds. The third takes about a minute but the fourth actually don't have to wait for the third to finish startup.

So my question is: Is there a possibility to somehow add a "wait for output before starting next"?

bjansen commented 1 year ago

Here's a mockup proposal:

image

  1. Add a '✎' button to edit an element in the list. The button opens a popup where you can configure a message to grep in the console OR a custom delay (which would tackle #79). I think this should be done with radio buttons, no need to support a message to grep AND a delay.
  2. The list becomes a table with three columns:
    • run config name,
    • console message
    • delay
  3. with delay either disappears, of becomes with default delay, and the value can be overriden per run config

@rkhmelyuk what do you think of this?