Agent ... or how MRL starts

Some confusion has occurred about zombie processes ... Strangely the process which would be kind of the 'cure' to zombies, is itself becoming a zombie - but not because its a process out of control.. its because very few know how to use it, and it does not (at the moment) default to present a UI

 

This "probably" should change because it give a lot of control, and can be used to prevent Zombies !

Above is the webgui for it - it can run multiple MRL instances which it keeps listed as processes - it can even run multiple versions at the same time.  At any moment you have the ability to kill everything or specific instances, and restart them ..  it also provides a easy way to update or even auto-update

...  I think perhaps this display should come up by default, and we should start using it ...

 

You can get this gui if you start myrobotlab from the command line with the following commands after mrl starts up :
 

detach

ls

/agent/startWebGui

detach - detaches standard input from the running mrl instance and drops it back to the Agent.  So now you are ready to type commands to the Agent.

Type ls - ls is like Linux's ls - in that it lists everything at your current location.  From the output we can see we have "agent", "bootstrap", and "cli"   these are the 3 services running in the Agent process.

and finally /agent/startWebGui which starts the web gui for the Agent


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
moz4r's picture

HiĀ  thank you for this

Hi  thank you for this informations.

If I invoke the agent like this, does it offer the same result ? I want to make an autostart script :

java -jar myrobotlab.jar -service python Python agent Agent -invoke python execFile %cd%/launch.py

 

GroG's picture

An Agent is automatically

An Agent is automatically started when you start from the command line... 
The MRL instance you usually use is a "child" of the Agent process..
If you start an Agent in an MRL process, it can only control children (effectively grandchildren)

So you do not want "child MRL" to spawn an Agent...

Most of the command line parameters are passed on to the child, but there are a few which the Agent will act on...

-autoUpdate   on the command line will make the Agent automatically poll for version changes and update ..

I think :

java -jar myrobotlab.jar -autoUpdate -service python Python -invoke python execFile %cd%/launch.py

is what you want..  don't remember if the command line is preserved when the Agent kills and restarts a new verion instance of MRL ... it might