cache fuzzysearch count
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user