aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim/webui/handlers/websocket.py
diff options
context:
space:
mode:
Diffstat (limited to 'fg21sim/webui/handlers/websocket.py')
-rw-r--r--fg21sim/webui/handlers/websocket.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/fg21sim/webui/handlers/websocket.py b/fg21sim/webui/handlers/websocket.py
index e84c20c..0b854ec 100644
--- a/fg21sim/webui/handlers/websocket.py
+++ b/fg21sim/webui/handlers/websocket.py
@@ -108,6 +108,8 @@ class WSHandler(tornado.websocket.WebSocketHandler):
self.configs = self.application.configmanager
# Push current configurations to the client
self._push_configs()
+ # Also push the current task status
+ self._push_task_status()
def on_close(self):
"""Invoked when a new WebSocket is closed by the client."""
@@ -138,3 +140,17 @@ class WSHandler(tornado.websocket.WebSocketHandler):
self.write_message(message)
logger.info("WebSocket: Pushed current configurations data " +
"with validation errors to the client")
+
+ def _push_task_status(self):
+ """
+ Push to the current task status to the client.
+ """
+ msg = {"success": True,
+ "action": "push",
+ "type": "console",
+ "subtype": "status",
+ "status": self.application.task_status}
+ message = json_encode(msg)
+ logger.debug("Message of current task status: {0}".format(message))
+ self.write_message(message)
+ logger.info("WebSocket: Pushed current task status to the client")