我需要并行检索帐户数据。我为此使用赛璐珞
我的代码
class Daemon
def self.start
loop do
Account.all.each do |acc|
unless Celluloid::Actor[account.name]
supervise_as(account.name, account)
Celluloid::Actor[account.name].async(:perform)
end
sleep 10.minutes
end
end
def initialize(account)
@account = account
end
def perform
loop do
do_request
sleep 10
end
end
end
在开始时,它总是对所有成员(鲍勃、爱丽丝等)进行并行请求。但一段时间后,它只向一个用户发出请求(例如,爱丽丝。)
PS在do_request
使用的自制redis队列和Celluloid::Actor.registed
所有账户中都存在