4233: try to match older log date format
[arvados.git] / apps / workbench / app / helpers / jobs_helper.rb
1 module JobsHelper
2   def stderr_log_history(job_uuids)
3     results = []
4
5     log_history = stderr_log_records(job_uuids)
6     if !log_history.empty?
7       reversed_results = log_history.reverse
8       reversed_results.each do |entry|
9         if entry.andand.properties
10           properties = entry.properties
11           text = properties[:text]
12           if text
13             results = results.concat text.split("\n")
14           end
15         end
16       end
17     end
18     return results
19   end
20
21   def stderr_log_records(job_uuids, extra_filters = nil)
22     filters = [["event_type",  "=", "stderr"],
23                ["object_uuid", "in", job_uuids]]
24     filters += extra_filters if extra_filters
25     last_entry = Log.order('id DESC').limit(1).filter(filters).results.first
26     if last_entry
27       filters += [["event_at", ">=", last_entry.event_at - 10.minutes]]
28       Log.order('id DESC')
29          .filter(filters)
30          .results
31     else
32       []
33     end
34   end
35
36 end