diff options
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/activitypub/synchronize_featured_collection_worker.rb | 13 | ||||
-rw-r--r-- | app/workers/backup_worker.rb | 17 | ||||
-rw-r--r-- | app/workers/import/relationship_worker.rb | 2 | ||||
-rw-r--r-- | app/workers/resolve_account_worker.rb (renamed from app/workers/resolve_remote_account_worker.rb) | 4 | ||||
-rw-r--r-- | app/workers/scheduler/backup_cleanup_scheduler.rb | 16 |
5 files changed, 49 insertions, 3 deletions
diff --git a/app/workers/activitypub/synchronize_featured_collection_worker.rb b/app/workers/activitypub/synchronize_featured_collection_worker.rb new file mode 100644 index 000000000..dd676a3ee --- /dev/null +++ b/app/workers/activitypub/synchronize_featured_collection_worker.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +class ActivityPub::SynchronizeFeaturedCollectionWorker + include Sidekiq::Worker + + sidekiq_options queue: 'pull' + + def perform(account_id) + ActivityPub::FetchFeaturedCollectionService.new.call(Account.find(account_id)) + rescue ActiveRecord::RecordNotFound + true + end +end diff --git a/app/workers/backup_worker.rb b/app/workers/backup_worker.rb new file mode 100644 index 000000000..ec6db4e9e --- /dev/null +++ b/app/workers/backup_worker.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +class BackupWorker + include Sidekiq::Worker + + sidekiq_options queue: 'pull' + + def perform(backup_id) + backup = Backup.find(backup_id) + user = backup.user + + BackupService.new.call(backup) + + user.backups.where.not(id: backup.id).destroy_all + UserMailer.backup_ready(user, backup).deliver_later + end +end diff --git a/app/workers/import/relationship_worker.rb b/app/workers/import/relationship_worker.rb index ed4c962c1..1dd8bf8fb 100644 --- a/app/workers/import/relationship_worker.rb +++ b/app/workers/import/relationship_worker.rb @@ -7,7 +7,7 @@ class Import::RelationshipWorker def perform(account_id, target_account_uri, relationship) from_account = Account.find(account_id) - target_account = ResolveRemoteAccountService.new.call(target_account_uri) + target_account = ResolveAccountService.new.call(target_account_uri) return if target_account.nil? diff --git a/app/workers/resolve_remote_account_worker.rb b/app/workers/resolve_account_worker.rb index 5dd84ccb6..cd7c4d7dd 100644 --- a/app/workers/resolve_remote_account_worker.rb +++ b/app/workers/resolve_account_worker.rb @@ -1,11 +1,11 @@ # frozen_string_literal: true -class ResolveRemoteAccountWorker +class ResolveAccountWorker include Sidekiq::Worker sidekiq_options queue: 'pull', unique: :until_executed def perform(uri) - ResolveRemoteAccountService.new.call(uri) + ResolveAccountService.new.call(uri) end end diff --git a/app/workers/scheduler/backup_cleanup_scheduler.rb b/app/workers/scheduler/backup_cleanup_scheduler.rb new file mode 100644 index 000000000..7a9d4f894 --- /dev/null +++ b/app/workers/scheduler/backup_cleanup_scheduler.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true +require 'sidekiq-scheduler' + +class Scheduler::BackupCleanupScheduler + include Sidekiq::Worker + + def perform + old_backups.find_each(&:destroy!) + end + + private + + def old_backups + Backup.where('created_at < ?', 7.days.ago) + end +end |