Hi all,
I am having some issues with my Perspective workstation session timing out. The setup is one session on a single PC with the "monitors", one actual monitor and 2 TVs for displaying data. The TVs will not have any interaction and the monitor screen might not get touched for days at a time. This whole project evolves around scripted and binding tag history.
It's my understanding that bindings on a page will not update if the page has timed out. In order to keep the page updated I have tried a few things.
-
Adding a page refresh gateway script that searches for all sessions and all page IDs and refreshes them. This seems to have resulted in an assortment of issues.
ClientSession 19May2025 21:30:12 WebSocket disconnected from session.
ClientSession 19May2025 21:30:12 WebSocket disconnected from session.
ClientSession 19May2025 21:30:12 WebSocket disconnected from session.
Refresh Page 19May2025 21:30:12 Refresh page failed
Refresh Page 19May2025 21:30:12 Refresh page1b40808f
Refresh Page 19May2025 21:30:12 Refresh page2817efe8
Refresh Page 19May2025 21:30:12 Refresh page2312ba17 -
I then tried adding a custom parameter that gets updated every 5 minutes with system.perspective.sendMessage("keepAlive", scope="session") inside the onChange property. I also tried adding a system.perspective.refresh() but that caused disconnection issues.
After removing the refresh code, I'm not getting any errors but I'm not confident that the bindings on the TVs are updating.
I guess my main question is what's the best way to ensure that all pages displays UpToDate binding data?
Also, side note: whenever I restart the gateway I get a few log warnings of addDays but got null, indicating the date memory tags are being set to null on startup. I set all datetime memory tags to midnight, however the issue still occurs occasionally. It's odd as the historized data is showing the correct data even though it's giving a null warning.
I know there's a lot there so apologies for that. Any help would be appreciated, thanks.