Module: Legion::Extensions::Detect::Runners::TaskObserver

Extended by:
TaskObserver
Included in:
TaskObserver
Defined in:
lib/legion/extensions/detect/runners/task_observer.rb

Instance Method Summary collapse

Instance Method Details

#observe(tasks: nil, since: nil) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/legion/extensions/detect/runners/task_observer.rb', line 10

def observe(tasks: nil, since: nil, **)
  return observe_db(since: since) if tasks.nil?

  return { success: true, alerts: [] } unless tasks.is_a?(Array)

  alerts = generate_alerts(tasks)
  check_and_publish_failure_patterns(tasks)
  { success: true, alerts: alerts, task_count: tasks.size }
rescue StandardError => e
  { success: false, reason: :error, message: e.message }
end