diff --git a/.gitignore b/.gitignore index dcf98ac88..d91997ecf 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ danbooru.sublime-project danbooru.sublime-workspace script/scratch.* test/fixtures/vcr_cassettes +.gitconfig diff --git a/app/logical/post_keeper_manager.rb b/app/logical/post_keeper_manager.rb index 32c023983..dd8b6fac8 100644 --- a/app/logical/post_keeper_manager.rb +++ b/app/logical/post_keeper_manager.rb @@ -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) diff --git a/app/models/post.rb b/app/models/post.rb index f6ccd3a3f..dc8b06c08 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -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