Closed m8pple closed 3 years ago
This is already captured (less eloquently) in #245 and fixed by #253.
The "historic" reason for getting no direct feedback for these commands is that they are staged for later execution (e.g. so that you can issue deploy/init/run in quick succession and things will happen when it is ready) and there was no mechanism to feedback what actually happened.
resolved in #253
When calling run, there is a quite a gap between typing run and receiving output from the device:
This happens in a single-device graph that calls handler_log in OnInit. Code is here: https://github.com/POETSII/Orchestrator/blob/25be74445ef08bb23140c4a02a9078d3317dc801/Tests/ReferenceXML/v4/PEP20/tests/valid/L4-run-time/single-device-print-hello.xml
If I call initialise and then wait a while before doing run, then we get the handler_log message after initialise but before run:
From the users perspective (i.e. the "monkey" who is expected to be sitting at the terminal, watching the output), it is a bit surprising, because the documentation suggestions that deploy is sending the binaries, initialise is setting things up and calling init, and then when you call run it is just shouting "go" at the threads. So from the users point of view it's not clear what the state of the system is, or the progress of the commands.
This might be expected behaviour given the design with a queue, but it is surprising behaviour from the point of view of the user:
POETS> 10:27:52.03: 804(I) Graph instance 'gi' composed successfully.
run
andinitialise
have finished. It doesn't seem to come back on the terminal, and there is nothing in the microlog either.I tried running the command using a batch file, then using the
show /batch
command, but at the point that it I callshow /batch
the microlog shows the queue is empty, despite initialisation clearly not being finish yet, and (presumably?) run not having started:The microlog for
show /batch
is:Which appears to complete 10 seconds before the handler_log appears. Presumably (?) if OnInit has not yet happened in the device, the
initialise
has not yet completed, sorun
has not yet started?Possibly this is related to #203, but I can't tell if it is the same thing.
I guess the problem can be summarised as:
If a user wants to ensure that
initialise
has completed before executingrun
, how do they do that?