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