作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
为了理解赛璐珞,我写了下面的脚本。
require 'celluloid/current'
class Processor
include Celluloid
def perfom(number)
puts "#{number} ... (#{Thread.current}) ..."
sleep(number%3)
puts "Launch finish!"
return number
end
end
pool = Processor.pool(size: 3)
futures = (1..7).map do |i|
pool.future(:perfom, i)
end
puts futures.map(&:value)
pool.terminate
一切正常,我想避免在池中调用终止。
所以我尝试使用 supervisor 但它引发了我 uninitialized constant Celluloid::SupervisionGroup
搜索后我找到了这个(在弃用的文件夹中):(https://github.com/celluloid/celluloid-supervision/blob/master/spec/celluloid/deprecate/supervision/supervision_group_spec.rb)
我想做这样的工作:
supervisor = Celluloid::SupervisionGroup.run!
pool = supervisor.pool(Processor, size: 3, as: :worker)
futures = (1..7).map do |i|
pool[:worker].future(:perfom, i)
end
puts futures.map(&:value)
我如何使用新系统让工作、主管和人才共享 future ?
最佳答案
Celluloid::SupervisionGroup 重命名为 Celluloid::Supervision::Container
参见 https://github.com/celluloid/celluloid/wiki/DEPRECATION-WARNING
关于ruby - Celluloid SupervisionGroup 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33446959/
为了理解赛璐珞,我写了下面的脚本。 require 'celluloid/current' class Processor include Celluloid def perfom(numbe
我是一名优秀的程序员,十分优秀!