我在应用程序中使用selenium webdriver,我想创建到许多浏览器的连接池。我创建一个BrowserProvider
类,并尝试将这些连接保存在Rails缓存中。像这样
class BrowserProvider
def self.cache
Rails.cache
end
CACHE_KEY = 'browser_hash'
def self.init_pool
data = cache.read(CACHE_KEY) || []
return if data.count >= 3
(3 - data.count).times do
browser = Selenium::WebDriver.for :chrome
data << browser
cache.write CACHE_KEY, data
end
end
end
但是,当我尝试初始化池并在该浏览器中执行某些操作时,出现错误IOError (closed stream)
。有什么办法可以将浏览器连接保存在Rails缓存中并还原到另一个类或模型中?
我将不胜感激