加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 从初始化程序终止当前的Rails实例

发布时间:2020-12-17 02:22:06 所属栏目:百科 来源:网络整理
导读:我正在编写一个完整性检查初始化程序,如果不满足某些属性,它应该杀死Rails进程.以这种方式中止生产服务器启动过程最安全的方法是什么?我想一个极端的情况是退出,但我不确定它是否是最好的方法. 如果重要的话,在独角兽上运行它. 解决方法 有三种方法可以结束
我正在编写一个完整性检查初始化程序,如果不满足某些属性,它应该杀死Rails进程.以这种方式中止生产服务器启动过程最安全的方法是什么?我想一个极端的情况是退出,但我不确定它是否是最好的方法.

如果重要的话,在独角兽上运行它.

解决方法

有三种方法可以结束 ruby过程:

> exit将以状态0(成功)结束进程.
>退出!将以状态1结束(这似乎适合您的情况),也不会运行使用Kernel#at_exit定义的块(可能是您可能需要也可能不适合).
> abort将以状态1结束,并将运行Kernel#at_exit块.你也可以给它一个字符串,它将被发送到标准输出.

所以中止可能是你最好的选择.除非你有特殊的理由不运行Kernel#at_exit块,否则你可能想要运行它们.

由于独角兽运行初始化器一次然后分叉过程,这种方法应该没问题.

我要补充一点,我猜你是在“错误”级别进行这些检查 – 如果可能的话,你应该在rails的上下文之外检查你的环境的健康状况.但是我不知道你的情况,我意识到有时候解决方案的速度比它的优雅更有价值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读