我编写了一个从文件中检查 url 的脚本(使用 ruby gem Typhoeus)。我不知道为什么当我运行我的代码时内存使用量会增加。通常在 10000 个 url 脚本崩溃之后。有什么解决办法吗?在此先感谢您的帮助。我的代码:
require 'rubygems'
require 'typhoeus'
def run file
log = Logger.new('log')
hydra = Typhoeus::Hydra.new(:max_concurrency => 30)
hydra.disable_memoization
File.open(file).each do |url|
begin
request = Typhoeus::Request.new(url.strip, :method => :get, :follow_location => true)
request.on_complete do |resp|
check_website(url, resp.body)
end
puts "queuing #{ url }"
hydra.queue(request)
request.destroy
rescue Exception => e
log.error e
end
end
hydra.run
end