Class: Delayer::Deferred::Request::NextWorker

Inherits:
Base
  • Object
show all
Defined in:
lib/delayer/deferred/request.rb

Overview

Fiberが次のWorkerを要求している時に返す値。 新たなインスタンスは作らず、 NEXT_WORKER にあるインスタンスを使うこと。

Instance Attribute Summary

Attributes inherited from Base

#value

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Delayer::Deferred::Request::Base

Instance Method Details

#accept_request(worker:, deferred:) ⇒ Object

deferred に渡された次のChainableに、 deferred の戻り値を渡す要求を出す。

Args

deferred

実行が完了したDeferred 。次のDeferredとして deferred.child を呼び出す

worker

このDeferredチェインを実行しているWorker


22
23
24
25
26
27
28
# File 'lib/delayer/deferred/request.rb', line 22

def accept_request(worker:, deferred:)
  if deferred.has_child?
    worker.push(deferred.child)
  else
    deferred.add_child_observer(worker)
  end
end