I have used an automated refresh of a web page within template node. Every now and then I get "cannot GET /URL" error on the automated refresh. When that happens, I have to manually refresh the page again to get page properly. How do I fix this?
Issue corrected by replacing
<meta http-equiv="refresh" content="30,url=https://URL/" />
with
<script>
setTimeout(function(){
window.location.reload();
}, 10000);
</script>
Initially I thought this issue was resolved by making the above changes but it seems that it is increasing as the no. of flows are increasing on the server. There is another thread where a related topic was discussed.
This app, which connects around 50 PLCs using siemens s7 node, seemed to work fine when it had upto 200 pages (URLs) but now as it expands beyond 300 pages, this issue of 'cannot GET /URL' has increased considerably.
Earlier, some research through a few blogs suggested that maybe it's an issue that can be corrected somehow through server side routing. But in the case of node-red all URLs are properly defined on the server side. This has led me to think that maybe NR server is not able to handle the GET request properly because of the load and the no. of pages it now has to serve from a single instance.
Is this analysis correct?
If yes, what is the solution?
Should I divide the app into two smaller AWS servers? But this not an elegant solution as the user would then have to access two different apps for two sets of PLCs.
Or would nodes like UIBuilder help this resolve better? Currently pages are delivered through normal template nodes. But won't the web socket communication increase the load even further? And then I have to handle the issue of user authentication in a separate reverse proxy layer.
Or do I need to consider a more scalable platform like Django?