jobs: migrate aliases/implications to ActiveJob.

This commit is contained in:
evazion
2019-08-16 20:49:35 -05:00
parent 2bbdc5d143
commit 2b6361369e
5 changed files with 32 additions and 14 deletions

View File

@@ -0,0 +1,8 @@
class ProcessTagAliasJob < ApplicationJob
queue_as :default
queue_with_priority 20
def perform(tag_alias, update_topic: true)
tag_alias.process!(update_topic: update_topic)
end
end

View File

@@ -0,0 +1,8 @@
class ProcessTagImplicationJob < ApplicationJob
queue_as :default
queue_with_priority 20
def perform(tag_implication, update_topic: true)
tag_implication.process!(update_topic: update_topic)
end
end

View File

@@ -6,11 +6,9 @@ class TagAlias < TagRelationship
validate :mininum_antecedent_count, on: :create, unless: :skip_secondary_validations
module ApprovalMethods
def approve!(update_topic: true, approver: CurrentUser.user)
CurrentUser.scoped(approver) do
update(status: "queued", approver_id: approver.id)
delay(:queue => "default").process!(update_topic: update_topic)
end
def approve!(approver: CurrentUser.user, update_topic: true)
update(approver: approver, status: "queued")
ProcessTagAliasJob.perform_later(self, update_topic: update_topic)
end
end

View File

@@ -163,8 +163,8 @@ class TagImplication < TagRelationship
end
def approve!(approver: CurrentUser.user, update_topic: true)
update(status: "queued", approver_id: approver.id)
delay(:queue => "default").process!(update_topic: update_topic)
update(approver: approver, status: "queued")
ProcessTagImplicationJob.perform_later(self, update_topic: update_topic)
end
def reject!(update_topic: true)