class LittleMonster::Core::Task

Attributes

data[R]
job_id[R]
job_max_retries[R]
job_retries[R]

Public Class Methods

new(data, job_id = nil) click to toggle source
# File lib/little_monster/core/task.rb, line 10
def initialize(data, job_id = nil)
  @data = data
  @job_id = job_id
end

Public Instance Methods

error(e) click to toggle source
# File lib/little_monster/core/task.rb, line 22
def error(e)
  logger.error e
  on_error e
end
is_cancelled!() click to toggle source
# File lib/little_monster/core/task.rb, line 31
def is_cancelled!
  raise CancelError if is_cancelled?
end
is_cancelled?() click to toggle source
# File lib/little_monster/core/task.rb, line 27
def is_cancelled?
  @cancelled_callback.nil? ? false : @cancelled_callback.call
end
last_retry?() click to toggle source
# File lib/little_monster/core/task.rb, line 35
def last_retry?
  @retry_callback.nil? ? false : !@retry_callback.call
end
on_error(error) click to toggle source
# File lib/little_monster/core/task.rb, line 19
def on_error(error)
end
run() click to toggle source
# File lib/little_monster/core/task.rb, line 15
def run
  raise NotImplementedError, 'You must implement the run method'
end

Private Instance Methods

set_default_values(data:, job_id: nil, job_logger: nil, cancelled_callback: nil, retries: 0, max_retries: 0, retry_callback: nil) click to toggle source
# File lib/little_monster/core/task.rb, line 41
def set_default_values(data:, job_id: nil, job_logger: nil,
                       cancelled_callback: nil, retries: 0, max_retries: 0, retry_callback: nil)
  @cancelled_callback = cancelled_callback
  @job_id = job_id
  @data = data
  @job_retries = retries
  @job_max_retries = max_retries
  @retry_callback = retry_callback
  logger.parent_logger = job_logger if job_logger
  logger.default_tags.merge!(type: 'task_log')
end