Module: Legion::Extensions::Tasker::Runners::Log

Includes:
Helpers::Lex
Defined in:
lib/legion/extensions/tasker/runners/log.rb

Instance Method Summary collapse

Instance Method Details

#add_log(task_id:, entry:, function: nil, runner_class: nil, **opts) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/legion/extensions/tasker/runners/log.rb', line 6

def add_log(task_id:, entry:, function: nil, runner_class: nil, **opts)
  entry = JSON.dump(entry) unless entry.is_a? String
  insert = { task_id: task_id, entry: entry }
  if opts.key?(:node_id)
    insert[:node_id] = payload[:node_id]
  elsif opts.key?(:name)
    node = Legion::Data::Model::Node.where(opts[:name]).first
    insert[:node_id] = node.values[:id] unless node.nil?
  end
  insert[:function_id] = opts[:function_id] if opts.key? :function_id

  unless function.nil? && runner_class.nil?
    runner = Legion::Data::Model::Runner.where(namespace: runner_class).first
    unless runner.values.nil?
      insert[:function_id] = runner.functions_dataset.where(name: function).first.values[:id]
    end
  end

  id = Legion::Data::Model::TaskLog.insert(insert)

  { success: !id.nil?, id: id }
end

#delete_all(**_opts) ⇒ Object



44
45
46
47
# File 'lib/legion/extensions/tasker/runners/log.rb', line 44

def delete_all(**_opts)
  delete = Legion::Data::Model::TaskLog.all.delete
  { success: delete.positive?, count: delete }
end

#delete_log(id:, **_opts) ⇒ Object



29
30
31
32
# File 'lib/legion/extensions/tasker/runners/log.rb', line 29

def delete_log(id:, **_opts)
  delete = Legion::Data::Model::TaskLog[id].delete
  { success: delete.positive?, count: delete, deleted_id: id }
end

#delete_node_logs(node_id:, **_opts) ⇒ Object



39
40
41
42
# File 'lib/legion/extensions/tasker/runners/log.rb', line 39

def delete_node_logs(node_id:, **_opts)
  delete = Legion::Data::Model::TaskLog.where(node_id: node_id).delete
  { success: delete.positive?, count: delete, deleted_node_id: node_id }
end

#delete_task_logs(task_id:, **_opts) ⇒ Object



34
35
36
37
# File 'lib/legion/extensions/tasker/runners/log.rb', line 34

def delete_task_logs(task_id:, **_opts)
  delete = Legion::Data::Model::TaskLog.where(task_id: task_id).delete
  { success: delete.positive?, count: delete, deleted_task_id: task_id }
end