Class: LittleMonster::Core::Task

Inherits:
Object
  • Object
show all
Includes:
Loggable
Defined in:
lib/little_monster/core/task.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Loggable

#logger

Constructor Details

#initialize(data, job_id = nil) ⇒ Task

Returns a new instance of Task.



10
11
12
13
# File 'lib/little_monster/core/task.rb', line 10

def initialize(data, job_id = nil)
  @data = data
  @job_id = job_id
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



5
6
7
# File 'lib/little_monster/core/task.rb', line 5

def data
  @data
end

#job_idObject (readonly)

Returns the value of attribute job_id.



6
7
8
# File 'lib/little_monster/core/task.rb', line 6

def job_id
  @job_id
end

#job_max_retriesObject (readonly)

Returns the value of attribute job_max_retries.



8
9
10
# File 'lib/little_monster/core/task.rb', line 8

def job_max_retries
  @job_max_retries
end

#job_retriesObject (readonly)

Returns the value of attribute job_retries.



7
8
9
# File 'lib/little_monster/core/task.rb', line 7

def job_retries
  @job_retries
end

Instance Method Details

#error(e) ⇒ Object



22
23
24
25
# File 'lib/little_monster/core/task.rb', line 22

def error(e)
  logger.error e
  on_error e
end

#is_cancelled!Object

Raises:



31
32
33
# File 'lib/little_monster/core/task.rb', line 31

def is_cancelled!
  raise CancelError if is_cancelled?
end

#is_cancelled?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/little_monster/core/task.rb', line 27

def is_cancelled?
  @cancelled_callback.nil? ? false : @cancelled_callback.call
end

#last_retry?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/little_monster/core/task.rb', line 35

def last_retry?
  @retry_callback.nil? ? false : !@retry_callback.call
end

#on_error(error) ⇒ Object



19
20
# File 'lib/little_monster/core/task.rb', line 19

def on_error(error)
end

#runObject

Raises:

  • (NotImplementedError)


15
16
17
# File 'lib/little_monster/core/task.rb', line 15

def run
  raise NotImplementedError, 'You must implement the run method'
end