my name is Kevin. I have been working with the High Performance Computing and Modernization Program and have an issue I would like to ask about. Would it be a good idea to support automatic state saving upon server disconnection before server timeout. I’ve noticed that when the server disconnects due to timeout, PV asks to save the state and exit (because the socket connection has been eliminated and throws PV into a funky state).
Would it be a good idea to emit a signal that disconnects from the server (saving the state, prior to this action) to preserve PV so it does not have to exit?
I have been able to compose preliminary “skeleton” code that checks for “SAVESESSION” from the user prompt in pqServerLauncher::promptOptions(); I have added a flag to vtkPVOptions in order to obtain access from pqDefaultViewBehavior::disconnectingToPreserveParaView() (signal that I have added), which if the flag is true, then saves the state to a file in the home directory, disconnects from the server, then throws up a message box asking if the user would be interested in reconnecting to the server? if yes (and upon server connection), throws another message box asking if they’d like to restore the saved state (since the state file is already known, this can be passed in as the argument; as opposed to the file dialog). I am continuing to test to make sure I make it as smooth as I can; just checking to see if this would be a worthwhile feature? Thank you.
Welcome to the ParaView community! By the way, your topic kind of spans support and development. Either was ok, and is watched by the same folks.
In my humble opinion, what we have now is both “good enough” and what we want. Basically, a user gets notice of how much more time they have on the server in minutes, the minutes change color in a red, grumpy way - with a warning dialog - when you get down to 5 minutes, and 1 minutes, a dialog pops again warning you to save state. Finally, when the server comes down, you get the option to save state.
ParaView is so very easy to connect client server (if the underlying scripts are set up), I don’t see an advantage to an automatic restart. In fact, the reason we have clusters time out is to get people off the cluster that are not actually using Paraview.
So, my thoughts would be that it works as desired.
I just want to mention that there is already a “timeout” option in the server configuration that warns you when time runs-out. This value is to be set manually or via an in-house script.
Thank you Alan & Mathieu,
I appreciate the welcome and I appreciate your response(s). Sounds good, thank you for the heads up too (didn’t want to be the one that broke the rules or placement of topics : ) ). I just saw that it may be a better topic under development since there wasn’t a bug (or anything wrong) with the implementation.
I agree with you that ParaView makes it easy to connect to the server, just seeing if skipping the step of save, exit and restart would be a good idea (I’ve noticed that VisIt utilizes this capability, and wanted to see if ParaView could make use of it as well)?
Also, the user doesn’t have to automatically reconnect, it could just save the state/data (or not), and continue running the application without the client/server component. At least in my experiences, my kiddos have been in my face being like Dad!! LUNCH!!! lol, and then I missed the timeout messages, and was forced to exit the application while testing something (this probably isn’t the average scenario that happens for users lol).