我刚刚获得了一个更新的MBP,在安装brew,RVM,MySQL,bundler等之后,设置了我的gemset,测试数据库创建,我尝试使用parallel_tests运行我的规范套件:
rake parallel:spec[4]
它开始随意地挂起然后挂起。在它被打开之前等待60秒或更长时间并且另一组绿点(~130),然后重复。事实上,每次暂停后的延迟似乎变得更长。当它挂起时,终端标签中的微调器会消失,并在它回醒时返回。
在我的旧MBP上并行运行的同一个测试套件不会定期挂起。
我不知道从哪里开始诊断它挂在哪里,两台机器之间的环境有什么不同。
串行运行规范测试似乎也在每个断言(点)之间挂起。
我感谢任何提示。
其他环境细节:
ruby 2.0.0p451,Redis 2.8.13,Rails 3.2.19,MySQL 5.6.20
答案 0 :(得分:0)
TL; DR - Net:HTTP(通过css_parser,通过premailer,通过premailer_rails)耗时60秒,无法找到“坏”机器上电子邮件模板中引用的css。
详细说明:
将css_parser的read_remote_file中的“坏”机器的延迟缩小到css为http://my-machine-mb:3001/stylesheets/email.css
的read_remote_file。出于某种原因,Net :: HTTP占用了整整60秒而无法找到。在“好”机器上,在5秒内失败。好消息是我意识到我的单元测试是在不需要时为电子邮件内联css。我仍然需要弄清楚为什么请求需要60秒才能在'坏'机器上失败。