Don't forget to lycansubscribe

finish downloading all posts after importer completes

Changed files
+8 -2
app
lib
tasks
+1
app/importer.rb
··· 50 50 end 51 51 52 52 import.update!(cursor: nil) 53 + @report&.update(importer: { finished: true }) 53 54 end 54 55 55 56 def process_likes(likes)
+7 -2
lib/tasks/import.rake
··· 22 22 puts "Elapsed time: #{(Time.now - @start).to_i} s" 23 23 24 24 print " " * 80 + "\r" 25 - puts "Importer: imported likes = #{@data.dig(:importer, :imported_likes) || 0} (until: #{@data.dig(:importer, :oldest_date)})" 25 + puts "Importer: imported likes = #{@data.dig(:importer, :imported_likes) || 0} (until: #{@data.dig(:importer, :oldest_date)})" + 26 + "#{" (DONE)" if @data.dig(:importer, :finished)}" 26 27 27 28 print " " * 80 + "\r" 28 29 puts "Downloader: imported posts = #{@data.dig(:downloader, :downloaded_posts) || 0} (until: #{@data.dig(:downloader, :oldest_date)})" ··· 49 50 downloader = PostDownloader.new 50 51 downloader.report = report 51 52 52 - Thread.new { downloader.import_from_queue(queue) } 53 + download_thread = Thread.new { downloader.import_from_queue(queue) } 53 54 54 55 trap("SIGINT") { 55 56 puts "\n\n\n\n\n" ··· 57 58 } 58 59 59 60 importer.run_import(ENV['UNTIL']) 61 + 62 + downloader.stop_when_empty = true 63 + download_thread.join 64 + 60 65 puts "\n\n\n\n\n" 61 66 end 62 67