Don't forget to lycansubscribe

refactored import_from_queue a bit

Changed files
+13 -8
app
+13 -8
app/post_downloader.rb
··· 9 9 10 10 def initialize 11 11 @sky = Minisky.new(ENV['APPVIEW'] || 'public.api.bsky.app', nil) 12 + 13 + @total_count = 0 14 + @oldest_imported = Time.now 12 15 end 13 16 14 17 def import_from_queue(queue) 15 - count = 0 16 - oldest = Time.now 17 - 18 18 loop do 19 19 likes = queue.pop_batch 20 20 ··· 38 38 likes.delete(like) 39 39 40 40 post = save_post(data['uri'], data['record']) 41 - like.update!(post: post, post_uri: nil) 42 - count += 1 43 - oldest = [oldest, like.time].min 44 - 45 - @report&.update(downloader: { downloaded_posts: count, oldest_date: oldest }) 41 + update_like(like, post) 46 42 rescue StandardError => e 47 43 puts "Error in PostDownloader: #{like.post_uri}: #{e}" 48 44 end ··· 68 64 text: text, 69 65 data: JSON.generate(record) 70 66 ) 67 + end 68 + 69 + def update_like(like, post) 70 + like.update!(post: post, post_uri: nil) 71 + 72 + @total_count += 1 73 + @oldest_imported = [@oldest_imported, like.time].min 74 + 75 + @report&.update(downloader: { downloaded_posts: @total_count, oldest_date: @oldest_imported }) 71 76 end 72 77 end