Don't forget to lycansubscribe

fixed some race conditions

Changed files
+8 -3
app
+1 -1
app/importers/posts_importer.rb
··· 33 33 @report&.update(queue: { length: @item_queue.length }) 34 34 end 35 35 rescue StandardError => e 36 - puts "Error in LikesImporter: #{record['uri']}: #{e}" 36 + puts "Error in PostsImporter: #{record['uri']}: #{e}" 37 37 end 38 38 end 39 39
+5 -1
app/post_downloader.rb
··· 78 78 79 79 author = User.find_or_create_by!(did: did) 80 80 81 - Post.create( 81 + if post = Post.find_by(user: author, rkey: rkey) 82 + return post 83 + end 84 + 85 + Post.create!( 82 86 user: author, 83 87 rkey: rkey, 84 88 time: Time.parse(created),
+2 -1
app/reports/console_report.rb
··· 2 2 def initialize 3 3 @data = {} 4 4 @start = Time.now 5 + @mutex = Mutex.new 5 6 end 6 7 7 8 def update(data) 8 - deep_merge(@data, data) 9 + @mutex.synchronize { deep_merge(@data, data) } 9 10 render 10 11 end 11 12