Class: Tisket::Task::Polling

Inherits:
Tisket::Task show all
Defined in:
lib/tisket/polling.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Tisket::Task

#initialize

Constructor Details

This class inherits a constructor from Tisket::Task

Class Method Details

.attr_namesObject



3
4
5
# File 'lib/tisket/polling.rb', line 3

def self.attr_names
  super + %i[ max_retries poll_interval ]
end

.defaultsObject



7
8
9
10
11
# File 'lib/tisket/polling.rb', line 7

def self.defaults
  super.merge(
    max_retries: 10,
    poll_interval: 30 ) # seconds
end

Instance Method Details

#done?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/tisket/polling.rb', line 13

def done?
  raise 'Abstract method'
end

#pollObject



17
18
19
20
21
# File 'lib/tisket/polling.rb', line 17

def poll
  @max_retries.times do
    done? ? break : sleep(@poll_interval)
  end
end

#runObject



23
24
25
26
27
28
# File 'lib/tisket/polling.rb', line 23

def run
  super do
    start
    poll
  end
end

#startObject



30
31
32
# File 'lib/tisket/polling.rb', line 30

def start
  raise 'Abstract method'
end