sio2project / oioioi

GNU General Public License v3.0
162 stars 72 forks source link

Port notifications server to python #198

Open pzurakowski opened 1 year ago

pzurakowski commented 1 year ago

Notifications server is currently the only module written in JS. It adds a lot of unnecessary dependencies and it's test suite doesn't run when using easy_toolbox. It should be rewritten in python or ported to a ready-made solution.

DietPawel commented 10 months ago

If someone is looking for a reasons to rewrite it here they are:

metenn commented 5 months ago

Does python have a decently performing websocket server implementation? Considering all logged in users connect to the notifications server by default, performance is kind of a big deal. From what I gather, Python's many websocket libraries all perform really poorly. By contrast, socket.io (what the node notification server currently uses) uses uWebSockets underneath, which is a high performance websockets library written in C++.

I firmly believe it should be rewritten, but we should really consider if we want to be doing it in Python, and if so, what websocket implementation library we should be using. Socketify.py caught my eye recently, but I didn't look too deep into it.