Re:Ruby’s Rack Push: Decoupling the real-time web applicatio...
by jkarneges on Tuesday May 01, 2018 @09:08PM
(#16973264)
Can you really live upgrade an Erlang process without disconnecting TCP connections it is using? If so that's really interesting, would be curious to learn more.
[ Parent
| on HN ]
Re:Ruby’s Rack Push: Decoupling the real-time web applicatio...
by jeremyjh on Tuesday May 01, 2018 @10:17PM
(#16973556)
Yes, you don't actually restart the Erlang VM; it loads your new application code (byte code) and sends the next message/request it receives to the newly loaded module. The default state for any process is to be blocked on receiving a new message. Processes in the middle of an I/O operation for example, will get the new code after it finishes that operation and waits to receive its next message.
Re:Ruby’s Rack Push: Decoupling the real-time web applicatio...
by jimktrains2 on Tuesday May 01, 2018 @09:24PM
(#16973339)
I'm not familar with Erlang, but applications like HAProxy don't upgrade the process in use, but only new connections.
Re:Ruby’s Rack Push: Decoupling the real-time web applicatio...
by wlll on Wednesday May 02, 2018 @10:02AM
(#16976936)
May be of interest: https://news.ycombinator.com/item?id=10669131