Open nrotstan opened 5 years ago
Thanks for the issue, @nrotstan. I would like to ping @ethan-nelson here, as he has started to make his head around websockets, too.
Complementary to this issue, we have #1368 filed that implements a differential update for intermediate refreshes of the project. So, in the interim (and for cases where hosts do not want to use the websockets in the future), there should hopefully be some relief for projects with a heavy server load caused by complex geometries and high traffic.
Additional Notes
While the websockets will work as-is in development, proper support for websockets in a production environment will likely require changes to the hosting environment, such as to the web server configuration, and possibly the addition of message-queue software (redis can work). The flask-socketio docs have an informative section on deploying websockets that is recommended reading
While websockets are very well supported by browsers these days, socket.io will nonetheless automatically fall back to its own built-in polling mechanism if websockets can't be used by a particular client for whatever reason. Even when this occurs, the socket.io polling mechanism is likely to be more efficient and performant, due to how it works, than the explicit task-status polling that would be replaced