我正在学习如何使用Celluloid
. 我已阅读所有文档,并认为我知道如何使用它但缺乏实践。我将使用包含近 12,000 行的 CSV 文件对其进行测试。
我不确定我应该为一份工作分配多少演员。我猜这个数字应该是动态的。根据这个 railscasts 剧集,默认数字设置为您机器中的内核数,但您肯定应该根据您的工作负载更改此数字吗?
我有 12,000 条记录要通过,如果我执行下面的代码,我猜它会启动我池中的所有参与者并将它们排队处理工作。但是我应该如何衡量有多少演员要动态分配给作品呢?
我的理解还有很多漏洞,所以请随意挑战我的整个实现。
class Model < ActiveRecord::Base
include Celluloid
def initialize(row)
self.name = row[0]
self.alt_id = row[1]
self.definition = row[2]
self.save
self.terminate
end
end
CSV.open("./files/my_file.csv", "wb") do |csv|
Model.supervise(csv)
end