ruby什么时候会确保不运行?

时间:2014-08-11 02:23:27

标签: ruby exception-handling

我有一个在eventmachine反应器中运行的服务器,该反应器监听来自用户的心跳以告知他们是否在线。当它开始/停止接收心跳时,它会将用户标记为在线和离线。

我想将它全部包含在一个确保模块中,以便在退出时将所有当前在线用户标记为脱机,但我不确定它是多么可靠。

在没有运行包含当前执行上下文的确保块的情况下,进程可以在什么条件下退出?

1 个答案:

答案 0 :(得分:1)

相当多,例如:

  • 被kill -9
  • 杀死
  • 分段错误等(例如ruby本身或本机扩展中的错误)
  • 电源故障
  • 系统整体崩溃(例如内核/驱动程序错误,硬件故障等)

网络故障不会阻止您的确保阻止运行,但可能意味着它无法更新存储这些状态的数据存储。