News for hackers. Stuff that matters.
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.
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)
Re:Ruby’s Rack Push: Decoupling the real-time web applicatio... by lazyloop on Wednesday May 02, 2018 @04:29AM (#16975039)
That's what Perl/Mojolicious does too.