From 25e6c06e23ea7909735f77e60e891a377119b214 Mon Sep 17 00:00:00 2001 From: Syphax Date: Sat, 11 Jan 2025 16:39:24 +0100 Subject: [PATCH] add graph count generation job to ncbo_cron --- bin/ncbo_cron | 20 ++++++++++++++++++++ bin/ncbo_generate_graph_count | 7 +------ lib/ncbo_cron/config.rb | 2 ++ lib/ncbo_cron/graphs_counts.rb | 4 ++-- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/bin/ncbo_cron b/bin/ncbo_cron index 9073f9a1..9e736448 100755 --- a/bin/ncbo_cron +++ b/bin/ncbo_cron @@ -374,6 +374,26 @@ runner.execute do |opts| ontology_analytics_options[:scheduler_type] = :cron ontology_analytics_options[:cron_schedule] = ontology_analytics_options[:cron_ontology_analytics] logger.info "Setting up ontology analytics refresh job with #{ontology_analytics_options[:cron_ontology_analytics]}"; logger.flush + ontology_analytics_log_path = File.join(log_path, "#{log_filename_noExt}-graph-count.log") + ontology_analytics_logger = Logger.new(ontology_analytics_log_path) + NcboCron::Scheduler.scheduled_locking_job(ontology_analytics_options) do + logger.info "Starting graphs count refresh"; logger.flush + logger.info "Logging graphs count refresh details to #{ontology_analytics_log_path}"; logger.flush + t0 = Time.now + NcboCron::GraphsCounts.new.run(logger) + logger.info "Ontology graphs counts completed in #{Time.now - t0} sec."; logger.flush + logger.info "Finished graphs refresh"; logger.flush + end + end + end + + if options[:enable_graph_counts] + analytics_thread = Thread.new do + ontology_analytics_options = options.dup + ontology_analytics_options[:job_name] = "ncbo_cron_graph_counts" + ontology_analytics_options[:scheduler_type] = :cron + ontology_analytics_options[:cron_schedule] = ontology_analytics_options[:cron_ontology_analytics] + logger.info "Setting up ontology analytics refresh job with #{ontology_analytics_options[:cron_ontology_analytics]}"; logger.flush ontology_analytics_log_path = File.join(log_path, "#{log_filename_noExt}-ontology-analytics.log") ontology_analytics_logger = Logger.new(ontology_analytics_log_path) NcboCron::Scheduler.scheduled_locking_job(ontology_analytics_options) do diff --git a/bin/ncbo_generate_graph_count b/bin/ncbo_generate_graph_count index 276e62a3..68a2612d 100755 --- a/bin/ncbo_generate_graph_count +++ b/bin/ncbo_generate_graph_count @@ -32,10 +32,5 @@ opt_parser.parse! logger = Logger.new(options[:logfile]) puts "Processing details are logged to #{options[:logfile]}" -unless options[:savefile] - logger.error "Please provide a file to save the results as an argument to --store FILEPATH" - exit -end -NcboCron::GraphsCounts.run -NcboCron::GraphsCounts.run(logger, options[:savefile]) +NcboCron::GraphsCounts.new.run(logger, options[:savefile]) diff --git a/lib/ncbo_cron/config.rb b/lib/ncbo_cron/config.rb index f7e4acad..809f7e43 100644 --- a/lib/ncbo_cron/config.rb +++ b/lib/ncbo_cron/config.rb @@ -34,6 +34,8 @@ def config(&block) @settings.enable_mapping_counts ||= true # enable ontology analytics @settings.enable_ontology_analytics ||= true + # enable graph count + @settings.enable_graphs_counts ||= true # enable ontologies report @settings.enable_ontologies_report ||= true # enable index synchronization diff --git a/lib/ncbo_cron/graphs_counts.rb b/lib/ncbo_cron/graphs_counts.rb index 4c0b2880..8b8c0f25 100644 --- a/lib/ncbo_cron/graphs_counts.rb +++ b/lib/ncbo_cron/graphs_counts.rb @@ -5,10 +5,10 @@ module NcboCron class GraphsCounts SUBMISSION_DATA_GRAPH = 'http://data\.bioontology\.org/ontologies/[^/]+/submissions/\d+' - DATA_SAVE = 'reports/graph_counts.json' + DATA_SAVE = '../../reports/graph_counts.json' def run(logger, file_path = nil) - file_path ||= "#{LinkedData.settings.repository_folder}/#{DATA_SAVE}" + file_path ||= DATA_SAVE logger.info('Start generating graphs counts') logger.info('Fetch ontologies data graphs') @all_ontologies = LinkedData::Models::Ontology.all