mirror of
https://github.com/karma-riuk/crab-webapp.git
synced 2025-07-05 06:08:13 +02:00
unregistering an observer when the user closes the
browser
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
from flask import Flask, request
|
from flask import Flask, request
|
||||||
from flask_cors import CORS
|
from flask_cors import CORS
|
||||||
from flask_socketio import SocketIO
|
from flask_socketio import SocketIO
|
||||||
from utils.observer import Status, Subject
|
from utils.observer import Status, Subject, SocketObserver
|
||||||
from routes.index import router as index_router
|
from routes.index import router as index_router
|
||||||
from routes.answers import QUEUE_MANAGER, router as answers_router
|
from routes.answers import QUEUE_MANAGER, router as answers_router
|
||||||
from routes.datasets import router as datasets_router
|
from routes.datasets import router as datasets_router
|
||||||
@ -49,6 +49,16 @@ def init_socketio(app):
|
|||||||
def on_connect():
|
def on_connect():
|
||||||
print('Websocket client connected')
|
print('Websocket client connected')
|
||||||
|
|
||||||
|
@socketio.on('disconnect')
|
||||||
|
def on_disconnect():
|
||||||
|
print('Websocket client disconnected')
|
||||||
|
sid = request.sid # type: ignore
|
||||||
|
if sid in SocketObserver.socket2obs:
|
||||||
|
obs = SocketObserver.socket2obs.pop(sid)
|
||||||
|
if obs in Subject.obs2subject:
|
||||||
|
subject = Subject.obs2subject.pop(obs)
|
||||||
|
subject.unregisterObserver(obs)
|
||||||
|
|
||||||
@socketio.on('get_queue_position')
|
@socketio.on('get_queue_position')
|
||||||
def on_get_queue_position(data):
|
def on_get_queue_position(data):
|
||||||
sid = request.sid # type: ignore
|
sid = request.sid # type: ignore
|
||||||
|
Reference in New Issue
Block a user