add async processing for top tagger

This commit is contained in:
Albert Yi 2018-04-03 16:00:36 -07:00
parent 23cb58c4e3
commit b219992b7d
3 changed files with 6 additions and 2 deletions

1
.gitignore vendored
View File

@ -24,3 +24,4 @@ danbooru.sublime-project
danbooru.sublime-workspace
script/scratch.*
test/fixtures/vcr_cassettes
.gitconfig

View File

@ -10,8 +10,8 @@ class PostKeeperManager
# archive db being up; we don't want to block updates in case it goes down.
# so we need to permit async updates also.
def self.queue_check(post_id, updater_id, increment_tags)
delay(queue: "default").check_and_update(post_id, updater_id, increment_tags, false)
def self.queue_check(post_id, updater_id)
delay(queue: "default", run_at: 1.minute.from_now).check_and_update(post_id)
end
def self.check_and_update(post, updater_id = nil, increment_tags = nil)

View File

@ -552,6 +552,9 @@ class Post < ApplicationRecord
if PostKeeperManager.enabled? && persisted?
# no need to do this check on the initial create
PostKeeperManager.check_and_update(self, CurrentUser.id, increment_tags)
# run this again async to check for race conditions
PostKeeperManager.queue_check(self)
end
end