Правильный способ закрыть капибару (с помощью poltergeist/phantomjs)

Я выполняю множество заданий через капибару на моем Linux-сервере. Я использую драйвер poltergeist phantomjs. Через некоторое время я получаю много этих ошибок:

Errno::EMFILE Too many open files - socket(2)

Я заглянул в lsof и, похоже, у меня много таких:

ruby      32316   deployer  320u     IPv4  9893211        0t0      TCP localhost:55062 (LISTEN)

Теперь я подозреваю, что это может быть потому, что я не получаю правильно закрытое соединение?

Какой будет правильный способ завершения после выполнения чего-то вроде следующего:

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, {:js_errors => false})
end

Capybara.current_driver = :poltergeist
Capybara.javascript_driver = :poltergeist
Capybara.run_server = false

@session = Capybara::Session.new(:poltergeist)
@session.visit('some_url')

1 ответ

Вы можете запустить @session.driver.quit,

Другие вопросы по тегам