From d0ceb0f1dd635b4a8d335aaeb9527e4054948aea Mon Sep 17 00:00:00 2001 From: Hector Correa Date: Tue, 25 Feb 2025 19:50:54 -0500 Subject: [PATCH 1/2] Add timing information to the file inventory job --- app/models/project.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/models/project.rb b/app/models/project.rb index 029cb481..2ca1da24 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -281,17 +281,25 @@ def file_list_to_file(session_id:, filename:) query_req = Mediaflux::QueryRequest.new(session_token: session_id, collection: mediaflux_id, deep_search: true, aql_query: "type!='application/arc-asset-collection'") iterator_id = query_req.result + start_time = Time.zone.now + prefix = "file_list_to_file #{session_id[0..7]} #{self.metadata_model.project_id}" + log_elapsed(start_time, prefix, "STARTED") File.open(filename, "w") do |file| + page_number = 0 # file header file.write("ID, PATH, NAME, COLLECTION?, LAST_MODIFIED, SIZE\r\n") loop do + start_time = Time.zone.now + page_number += 1 iterator_req = Mediaflux::IteratorRequest.new(session_token: session_id, iterator: iterator_id, size: 1000) iterator_resp = iterator_req.result + log_elapsed(start_time, prefix, "FETCHED page #{page_number} from iterator") lines = files_from_iterator(iterator_resp) file.write(lines.join("\r\n") + "\r\n") break if iterator_resp[:complete] || iterator_req.error? end + log_elapsed(start_time, prefix, "ENDED") end # Destroy _after_ fetching the results from iterator_req @@ -332,4 +340,10 @@ def project_directory_pathname def safe_name(name) Project.safe_name(name) end + + def log_elapsed(start_time, prefix, message) + elapsed_time = Time.zone.now - start_time + timing_info = "#{format('%.2f', elapsed_time)} s" + Rails.logger.info "#{prefix}: #{message}, #{timing_info}" + end end From 536d0e6e9b558389c60ebba8739b90af9c136251 Mon Sep 17 00:00:00 2001 From: Hector Correa Date: Tue, 25 Feb 2025 20:06:14 -0500 Subject: [PATCH 2/2] Display the total time in addition to the time for each iteration --- app/models/project.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/project.rb b/app/models/project.rb index 2ca1da24..98dfb3d1 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -290,11 +290,11 @@ def file_list_to_file(session_id:, filename:) # file header file.write("ID, PATH, NAME, COLLECTION?, LAST_MODIFIED, SIZE\r\n") loop do - start_time = Time.zone.now + iterator_start_time = Time.zone.now page_number += 1 iterator_req = Mediaflux::IteratorRequest.new(session_token: session_id, iterator: iterator_id, size: 1000) iterator_resp = iterator_req.result - log_elapsed(start_time, prefix, "FETCHED page #{page_number} from iterator") + log_elapsed(iterator_start_time, prefix, "FETCHED page #{page_number} from iterator") lines = files_from_iterator(iterator_resp) file.write(lines.join("\r\n") + "\r\n") break if iterator_resp[:complete] || iterator_req.error?