queue progress jobs after transaction

closes #CNVS-47710

Change-Id: I87064bec1a2c6eaff3e239317b7134cfeffb8f24
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/218714
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
This commit is contained in:
James Williams 2019-11-26 09:30:15 -07:00
parent aef1463481
commit f75f8287d6
1 changed files with 5 additions and 1 deletions

View File

@ -78,7 +78,11 @@ class Progress < ActiveRecord::Base
enqueue_args = enqueue_args.reverse_merge(max_attempts: 1, priority: Delayed::LOW_PRIORITY)
method_args = method_args.unshift(self) unless enqueue_args.delete(:preserve_method_args)
work = Progress::Work.new(self, target, method, method_args)
Shackles.activate(:master) {Delayed::Job.enqueue(work, enqueue_args)}
Shackles.activate(:master) do
ActiveRecord::Base.connection.after_transaction_commit do
Delayed::Job.enqueue(work, enqueue_args)
end
end
end
# (private)