Class: Vessel::Scheduler
- Inherits:
-
Object
- Object
- Vessel::Scheduler
- Extended by:
- Forwardable
- Defined in:
- lib/vessel/scheduler.rb
Instance Attribute Summary collapse
-
#browser ⇒ Object
readonly
Returns the value of attribute browser.
-
#delay ⇒ Object
readonly
Returns the value of attribute delay.
-
#queue ⇒ Object
readonly
Returns the value of attribute queue.
Instance Method Summary collapse
-
#initialize(queue, settings) ⇒ Scheduler
constructor
A new instance of Scheduler.
- #post(*requests) ⇒ Object
Constructor Details
#initialize(queue, settings) ⇒ Scheduler
Returns a new instance of Scheduler.
13 14 15 16 17 18 19 20 21 |
# File 'lib/vessel/scheduler.rb', line 13 def initialize(queue, settings) @queue = queue @min_threads, @max_threads, @delay = settings.values_at(:min_threads, :max_threads, :delay) = {} .merge!(timeout: settings[:timeout]) if settings[:timeout] @browser = Ferrum::Browser.new(**) end |
Instance Attribute Details
#browser ⇒ Object (readonly)
Returns the value of attribute browser.
11 12 13 |
# File 'lib/vessel/scheduler.rb', line 11 def browser @browser end |
#delay ⇒ Object (readonly)
Returns the value of attribute delay.
11 12 13 |
# File 'lib/vessel/scheduler.rb', line 11 def delay @delay end |
#queue ⇒ Object (readonly)
Returns the value of attribute queue.
11 12 13 |
# File 'lib/vessel/scheduler.rb', line 11 def queue @queue end |
Instance Method Details
#post(*requests) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/vessel/scheduler.rb', line 23 def post(*requests) requests.map do |request| Concurrent::Promises.future_on(pool, queue, request) do |queue, request| queue << goto(request) end end end |