Rog*_*son 14 erlang hotswap message-loop
我最近在InfoQ上看到了关于Erlang的视频,在该视频中,其中一位创作者介绍了如何替换消息循环的行为.
他只是发送一条消息,其中包含新版本的消息循环代码的lambda,然后调用该消息而不是再次调用旧循环.
这段代码是在Erlang中热插拔的吗?或者是其他更原生的功能?
ton*_*nio 18
是的,在erlang服务器中进行热交换通常是指此功能.在stackoverflow问题中很好地解释了在Erlang的gen_server中实现代码交换,以及在这个简洁的Erlang通用服务器教程或这个小小的一个.
Erlang/OTP gen_server模块通过Module:code_change/3在回调模块中实现一个函数,提供了实现热交换的通用方法.
这样,您可以在不关闭服务器代码的情况下升级服务器代码,或者如果某些内容无法正常工作,则可以回退到以前的实现.通常,应使用通用发布处理程序将热交换置于适当位置.
| 归档时间: |
|
| 查看次数: |
6264 次 |
| 最近记录: |