This method is called on a press of a button in program Node. I am facing an issue here. The GUI is not responsive for time this task is performed. Once the task gets complete, GUI is responsive again. I want to perform the task such that I can still move around in my polyscope while the task is performed in the background.
The setPositionJob function in this method is a python daemon function which coordinate with a festo motor controller to reach to a specified position. Once the position is reached it return a string value. I believe as soon as setpositionJob function is called it is waiting for the function to get completely executed and return back the value. Since it can take 5-10 sec to complete the function before returning the value, My Java method doesn’t move further and moves only after the value has been received from the daemon function.
Can I avoid this waiting for return value from daemon and move to next step in my java method without changing my phyton function?
Hi Tal,
I think you are looking for doing it in a thread. You should be able to do it with this construction:
CompletableFuture.runAsync(new Runnable() {
@Override
public void run() {
fill in your functionality here
}
});
Please be aware not to write into the program nodes data model in the other thread!