gpt4 book ai didi

ruby - ruby 的 ensure 什么时候不会运行?

转载 作者:太空宇宙 更新时间:2023-11-03 16:25:32 25 4
gpt4 key购买 nike

我有一个在 eventmachine react 器中运行的服务器,它监听用户的心跳以判断他们是否在线。当它开始/停止接收心跳时,它会适本地将用户标记为在线和离线。

我想将它全部包装在一个 ensure block 中,以便在它退出时将所有当前在线用户标记为离线,但我不确定这有多可靠。

在什么情况下,进程可以在不运行包裹当前执行上下文的 ensure block 的情况下退出?

最佳答案

不少,例如:

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

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

关于ruby - ruby 的 ensure 什么时候不会运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25235089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com