如何在Sidekiq内运行时关闭capybara-webkit中的webkit_server

时间:2014-06-12 15:10:29

标签: ruby session capybara sidekiq capybara-webkit

我试图在Sidekiq工作人员中运行每个capybara-webkit会话。

对于每个工作人员,我创建了一个像s = Capybara::Session.new(:webkit)

这样的会话

完成工作后,我通过调用s.driver.browser.reset!

关闭会话

但是webkit_server进程的数量不断增加,看起来这个进程在Sidekiq worker完成后从未被释放过。

如何确保webkit_server进程正确关闭?有没有办法可以手动关闭服务器?

我在Ubuntu 12.04上使用capybara-webkit-1.1.1和Qt 4.8

由于

1 个答案:

答案 0 :(得分:0)

我可以想出一个(丑陋和肮脏)的解决方法,但是,webkit_servers现在将会死亡。

pid = capybara_ag.driver.inspect.scan(/@pid=(\d+)/).flatten.first
`kill -9 #{pid}`

或者您可以重新启动应用。