大佬教程收集整理的这篇文章主要介绍了在Ruby中从Capybara运行时,webkit_server会定期挂起,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经确认,当它挂起时,站点仍然可以访问(例如,通过命令行上的curl或wget).我也尝试在超时块中包装调用访问的Ruby代码和后续查找器,以便等待新的URL访问60秒后,任何访问()尝试都会在第一次发生之后失败.解决问题的唯一方法是消除Ruby进程调用Capybara / capybara-webkit和webkit_server进程并重新启动.
当我拖动webkit_server进程时,我会重复地看到这样的输出:
clock_gettime(CLOCK_MONOTONIC,{5821,680279627}) = 0 gettimeofday({1330890176,712033},{0,33052112}) = 0 gettimeofday({1330890176,712087},140736435864256}) = 0 gettimeofday({1330890176,712137},33108640}) = 0 clock_gettime(CLOCK_MONOTONIC,680486036}) = 0 clock_gettime(CLOCK_MONOTONIC,680530091}) = 0 read(7,0x1fac1b4,4096) = -1 EAGAIN (resource temporarily unavailablE)
如果我支持调用它的Ruby进程,它挂在一个read()上:
Process 3331 attached - interrupt to quit read(5,^C <unfinished ...> Process 3331 detached
我知道Ruby代码挂在Capybara visit()方法上.
任何想法我可以做什么来排除故障或纠正这个是赞赏.我假设这个问题与某些资源有关,webkit_server需要访问URL,但我不知道接下来要尝试什么.
谢谢!
简单地添加“薄”是不够的.
但是明确使用Thin handler是有效的.添加到env.rb:
Capybara.server do |app,port| require 'rack/handler/thin' Rack::Handler::Thin.run(app,:Port => port) end
注意瘦使用警告:https://github.com/thoughtbot/capybara-webkit/issues/399#issuecomment-22328028
以上是大佬教程为你收集整理的在Ruby中从Capybara运行时,webkit_server会定期挂起全部内容,希望文章能够帮你解决在Ruby中从Capybara运行时,webkit_server会定期挂起所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。