ruby-on-rails - Rails 5.1.7 服务器在第一次请求时挂起
问题描述
我们正在尝试将 Rails 服务器更新到 5.1 版。
服务器启动正常;但是在第一次请求时,完全死了;并且必须用信号 9 杀死。
不管是 Puma 还是 Webrick。
不管是 5.1.0 还是 5.1.7 都不管它的开发模式还是生产模式。
最终我看到进程大小是 90GB 并且还在增长!
我试过 rbtrace,但很难从中得到任何有意义的东西。
我在 osx 上,所以 strace 不可用,我一直在努力让 dtrace 或 dtruss 工作,或者产生任何有意义的东西。
所以寻找一种方法来让这个 Rails 服务器告诉我它的问题是什么......
让我知道还有哪些重要信息。
解决方案
经过相当长的过程,我找到了一个解决方案,它并没有找到问题的根源,而是提供了一个解决它的过程。
首先,我用
rails app:update
并接受了所有的覆盖。然后使用 git,我浏览了从我的配置文件中删除的所有代码,并只返回了所需的部分 [例如 config/routes.rb 和 ActionMailer 配置]。
然后应用程序立即启动,没有问题。
这也让我
http://railsdiff.org/5.0.7.2/5.1.0
这对于 Rails 升级至关重要。这很值得消费:
https://github.com/rails/rails/issues/31377#issuecomment-350422347
推荐阅读
- android - TargetSdkVersion 为 28 但最高 api 级别为 26
- c++ - 使用 GMock 模拟将函数作为参数的方法
- snowflake-cloud-data-platform - 如何在雪花中编写相关子查询
- wpf - MVVM:我应该将文本框直接绑定到模型还是应该先创建一个完整的属性?
- python - 如何在 Python 2.6 中使用 Keytab 检索 Kerberos 令牌
- java - 使用 JNA 从 dll 中获取类型
- php - PHP & Carousel - 在我的数据库中获取图像的轮播中循环图像
- oauth-2.0 - 如何在没有最终用户在 Azure 中使用 AD 帐户登录的情况下保护 API?
- python - BeautifulSoup 提取文本
- sql-server - SQL Server 将日期时间转换为不带空值的日期