2

我需要并行检索帐户数据。我为此使用赛璐珞

我的代码

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所有账户中都存在

4

0 回答 0