diff --git a/src/plugin/text_info.rb b/src/plugin/text_info.rb index 2d3730c..de541e7 100644 --- a/src/plugin/text_info.rb +++ b/src/plugin/text_info.rb @@ -1338,6 +1338,7 @@ module ODDB @options[:reparse] = true @options[:download] = false logCheckActivity "update_swissmedicno_fi_pi finished" + cleanup_after_run true # an update/import should return true or you will never send a report end @@ -1351,7 +1352,7 @@ module ODDB end logCheckActivity "import_swissmedicinfo_by_index @new_iksnrs #{@new_iksnrs.inspect} " import_swissmedicinfo_by_iksnrs(@new_iksnrs.keys, target) - @doc = nil + cleanup_after_run true # an import should return true or you will never send a report end def import_swissmedicinfo_by_iksnrs(iksnrs, target) @@ -1370,7 +1371,7 @@ module ODDB end import_info(keys, names, :isknr) end - @doc = nil + cleanup_after_run true # an import should return true or you will never send a report end @@ -1411,7 +1412,16 @@ module ODDB puts_sync "job is done. now postprocess works ..." postprocess end + cleanup_after_run true # report end + + private + def cleanup_after_run + @doc = nil + @@iksnrs_meta_info = nil + @fis_to_iksnrs = nil + @pis_to_iksnrs = nil + end end end diff --git a/src/util/updater.rb b/src/util/updater.rb index 43f731d..070a17a 100644 --- a/src/util/updater.rb +++ b/src/util/updater.rb @@ -181,20 +181,37 @@ module ODDB def recipients self.class::RECIPIENTS end + def showMem(line) + $stdout.puts "#{Time.now}: at line #{line} GC #{GC.stat.inspect}"; $stdout.flush + info = `cat /proc/meminfo | grep Mem` + $stdout.puts "#{Time.now}: at line #{line} mem is #{info.gsub("\n", ': ')}"; $stdout.flush + end def run + showMem(__LINE__) logfile_stats # recall, hpc update_swissmedic_feeds + showMem(__LINE__) + GC.enable; GC.start; sleep(10) + showMem(__LINE__) # textinfo update_textinfo_swissmedicinfo({:target => :fi}) + showMem(__LINE__) + GC.enable; GC.start; sleep(10) + showMem(__LINE__) + update_textinfo_swissmedicinfo({:target => :pi}) + showMem(__LINE__) + GC.enable; GC.start; sleep(10) + showMem(__LINE__) #update_textinfo_news2 if(update_swissmedic) update_swissmedic_followers end + showMem(__LINE__) return_value_update_bsv = update_bsv LogFile.append('oddb/debug', " return_value_update_bsv=" + return_value_update_bsv.inspect.to_s, Time.now) #if(update_bsv) @@ -277,10 +294,12 @@ module ODDB :import_company, [companies] end def update_company_textinfos2 *companies + saved_options = @options @options = {:reparse => true} update_notify_simple TextInfoPlugin, "Fach- und Patienteninfo2 '#{companies.join(', ')}'", :import_company2, [companies] + @options = saved_options end def update_teilbarkeit(path) update_notify_simple DivisibilityPlugin, @@ -420,6 +439,7 @@ module ODDB update_notify_simple WhoPlugin, "WHO-Update", :import end def update_package_trade_status_by_swissindex(logging = false) + @options = nil update_notify_simple(SwissindexPharmaPlugin, 'Swissindex Pharma', :update_package_trade_status, [logging]) end def migel_nonpharma(pharmacode_file, logging = false)