class Serially::TaskRun
Public Class Methods
finished_statuses()
click to toggle source
# File lib/serially/task_run.rb, line 15 def self.finished_statuses [TaskRun.statuses[:finished_ok], TaskRun.statuses[:finished_error]] end
write_task_run(task, item_id, success, result_msg, result_obj, error_handled)
click to toggle source
# File lib/serially/task_run.rb, line 23 def self.write_task_run(task, item_id, success, result_msg, result_obj, error_handled) task_run = TaskRun.where(item_class: task.klass, item_id: item_id, task_name: task.name).first_or_initialize if task_run.finished? Resque.logger.warn("Serially: task '#{task.name}' for #{task.klass}/#{item_id} finished already, not saving this task run") false else saved = task_run.tap {|t| t.task_order = task.task_order t.status = success ? TaskRun.statuses[:finished_ok] : TaskRun.statuses[:finished_error] t.result_message = result_msg t.result_object = result_obj t.error_handled = error_handled t.finished_at = DateTime.now }.save saved end end
Public Instance Methods
finished?()
click to toggle source
# File lib/serially/task_run.rb, line 19 def finished? finished_ok? || finished_error? end