cache fuzzysearch count

This commit is contained in:
Dylan Knutson
2025-07-25 03:46:19 +00:00
parent 3356bddd60
commit dca8ba4566

View File

@@ -3,6 +3,9 @@ class Tasks::Fa::QueryMissingPostsFromFuzzysearch < EnqueueJobBase
extend T::Sig
include Domain::Fa::HasCountFailedInQueue
PROGRESS_KEY = "fa-query-missing-posts-from-fuzzysearch"
COUNT_KEY = "fa-query-missing-posts-from-fuzzysearch-count"
sig { params(start_at: T.nilable(String), kwargs: T.untyped).void }
def initialize(start_at: nil, **kwargs)
super(**kwargs)
@@ -11,7 +14,7 @@ class Tasks::Fa::QueryMissingPostsFromFuzzysearch < EnqueueJobBase
sig { override.returns(String) }
def progress_key
"fa-query-missing-posts-from-fuzzysearch"
PROGRESS_KEY
end
sig { override.void }
@@ -31,7 +34,9 @@ class Tasks::Fa::QueryMissingPostsFromFuzzysearch < EnqueueJobBase
greatest_post_fa_id = query.first&.fa_id
log("counting posts...")
count = query.count
count = GlobalState.get(COUNT_KEY)&.to_i || query.count
GlobalState.set(COUNT_KEY, count.to_s)
puts "number of posts to process: #{count}"
pb = create_progress_bar(count)
@@ -62,6 +67,7 @@ class Tasks::Fa::QueryMissingPostsFromFuzzysearch < EnqueueJobBase
last_processed_fa_id = posts.map(&:fa_id).compact.min
if last_processed_fa_id
save_progress(last_processed_fa_id.to_s)
GlobalState.set(COUNT_KEY, (count - pb.progress).to_s)
greatest_post_fa_id = last_processed_fa_id - 1
else
break
@@ -76,6 +82,6 @@ class Tasks::Fa::QueryMissingPostsFromFuzzysearch < EnqueueJobBase
sig { override.returns(Integer) }
def queue_size
count_failed_in_queue("fuzzysearch")
count_failed_in_queue(%w[fuzzysearch fur_archiver])
end
end