diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-05-16 10:43:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-16 10:43:44 +0200 |
commit | 3a084113067656ef9318b9fb5bcfea4fd2de6ffe (patch) | |
tree | 251a14cd362a6d98c1721e8f3f54fc386165e464 /app/controllers/settings | |
parent | 94e98864e39c010635e839fea984f2b4893bef1a (diff) | |
parent | 040b7d37a460e5f023f7654b1b619368cbbc24ea (diff) |
Merge pull request #1772 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/controllers/settings')
-rw-r--r-- | app/controllers/settings/exports_controller.rb | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/app/controllers/settings/exports_controller.rb b/app/controllers/settings/exports_controller.rb index 1638d3412..deaa7940e 100644 --- a/app/controllers/settings/exports_controller.rb +++ b/app/controllers/settings/exports_controller.rb @@ -3,6 +3,7 @@ class Settings::ExportsController < Settings::BaseController include Authorization include Redisable + include Lockable skip_before_action :require_functional! @@ -14,21 +15,13 @@ class Settings::ExportsController < Settings::BaseController def create backup = nil - RedisLock.acquire(lock_options) do |lock| - if lock.acquired? - authorize :backup, :create? - backup = current_user.backups.create! - else - raise Mastodon::RaceConditionError - end + with_lock("backup:#{current_user.id}") do + authorize :backup, :create? + backup = current_user.backups.create! end BackupWorker.perform_async(backup.id) redirect_to settings_export_path end - - def lock_options - { redis: redis, key: "backup:#{current_user.id}" } - end end |