Why do you have introduced nodejs?

Hello,
I’d like to know why it was introduced nodejs in the last update of bench v6?
Since I’d like to understand the architecture, I’d like to understand the role and the benefits of this runtime that seems in competition with python.

Thanks

1 Like

The node app handles socket.io for realtime features.

We did have a pure python implementation but that involved using gevent and another gevent-socketio library that was not maintained.

more info: Frappe Open Day - June 2015

1 Like

Iteresting! Thank you for the link… a lot to study :smile:
I hope that flask-socketio will become solid enough to be reconsidered.
Nothing against nodejs but I’m a “puritan” :laughing:

1 Like

@donatum or “Horses for Courses” :smile:

I am sure node will open up opportunities to tie in good apps from that ecosystem too in the future.

1 Like

Interesting.

Have you considered about Server-sent events instead of WebSocket and socket.io for realtime ? (if I remember correctly, performance of websocket and SSE are approximately the same, even if SSE consumes more bandwidth).

First, thank you so much for such a great application. It has also taken me deep into study mode so I thank you for that too.

I have been reading up nodejs for sometime today since I realized it was a dependency to keeping erpnext functional. I figured it managed socket.io which seems to be giving me some issues or some comments suggest I update it. It keep locking out specific IP addresses for sometime and at unpredictable moments. I initially thought it had to do with fail2ban but I don’t think so anymore.

I believe once I understand how you put this amazing puzzle together, things will make more sense.

Have you heard of such issues with socket.io?

Once again, thanks a lot.

1 Like