我有一个从url读取并检索一些数据的工作者。所以我用池,以实现10名并发工人的并发:如何停止赛璐珞的“终止任务”消息?
require 'nokogiri'
require 'open-uri'
require 'celluloid/autostart'
class WebWorker
include Celluloid
def get_data
url = "http://example.com/"
doc = Nokogiri::HTML(open(url), nil, "UTF-8")
{ data: doc.css("body h1")[0].content.strip }
end
end
pool = WebWorker.pool(:size => 10)
10.times do |t|
futures = 10.times.map{ |t| pool.future(:get_data) }
results = futures.map(&:value)
end
放到一个文件名为some_name.rb上面的代码,运行它,您将获得:
d [ 2014-05-09T10:15:06.061071#6588] DEBUG - :终止15 演员... W,[2014-05-09T10:15:06.063755#6588] WARN - :终止 task:type =:finalizer ,meta = {:method_name =>:shutdown}, status =:callwait
我的问题是如何暂停这些消息?包装在一个开始......救援并没有帮助。而且,为什么会出现警告,代码有什么问题?
谢谢!
难道您还添加了一些解释? – Robert