about summary refs log tree commit diff
path: root/app/workers
diff options
context:
space:
mode:
Diffstat (limited to 'app/workers')
-rw-r--r--app/workers/activitypub/synchronize_featured_collection_worker.rb13
-rw-r--r--app/workers/backup_worker.rb17
-rw-r--r--app/workers/import/relationship_worker.rb2
-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.rb16
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