Hacker News new | ask | show | jobs
by wetbrain 5135 days ago
Check out http://sheddingbikes.com/posts/1289384533.html,

>Instead of one gigantic process that has to handle all of an application, you'd have a handful of little ones. Instead of scaling massive applications across a cluster, you just scaled each interface out as needed. Instead of upgrading the whole enchilada at once, you just upgraded each interface only if it needed it. Instead of worrying about migrating user's coroutines across upgrades you just did the "Erlang trick" and moved them over to the new deployments.

He goes on to describe Tir, the natural style, and Lua's coroutines. Great intro to a fun framework.

1 comments

Instead of worrying about migrating user's coroutines across upgrades you just did the "Erlang trick" and moved them over to the new deployments.

I'd like to hear how this works in detail. Suppose a user is exercising a multi-request handler, say pagination of personalized results.

At what point do you kill the coroutine and let the next request start a new handler in the new, upgraded process? What about state that the coroutine may have that hasn't been persisted anywhere else?