turnitin: increase check status attempts
closes CNVS-16212 Change-Id: I33a12b1e13b47fa981f12fd80fb516da8d69c918 Reviewed-on: https://gerrit.instructure.com/45554 Reviewed-by: Josh Simpson <jsimpson@instructure.com> Tested-by: Jenkins <jenkins@instructure.com> QA-Review: Josh Simpson <jsimpson@instructure.com> Product-Review: Josh Simpson <jsimpson@instructure.com>
This commit is contained in:
parent
df0a596cfb
commit
d9262af160
|
@ -271,6 +271,7 @@ class Submission < ActiveRecord::Base
|
|||
strip_tags((self.body || "").gsub(/\<\s*br\s*\/\>/, "\n<br/>").gsub(/\<\/p\>/, "</p>\n"))
|
||||
end
|
||||
|
||||
TURNITIN_STATUS_RETRY = 11
|
||||
def check_turnitin_status(attempt=1)
|
||||
self.turnitin_data ||= {}
|
||||
turnitin = nil
|
||||
|
@ -283,7 +284,7 @@ class Submission < ActiveRecord::Base
|
|||
data = self.turnitin_data[asset_string]
|
||||
next unless data && data.is_a?(Hash) && data[:object_id]
|
||||
if data[:similarity_score].blank?
|
||||
if attempt < TURNITIN_RETRY
|
||||
if attempt < TURNITIN_STATUS_RETRY
|
||||
turnitin ||= Turnitin::Client.new(*self.context.turnitin_settings)
|
||||
res = turnitin.generateReport(self, asset_string)
|
||||
if res[:similarity_score]
|
||||
|
@ -310,7 +311,7 @@ class Submission < ActiveRecord::Base
|
|||
self.turnitin_data[asset_string] = data
|
||||
end
|
||||
|
||||
send_at((5 * attempt).minutes.from_now, :check_turnitin_status, attempt + 1) if needs_retry
|
||||
send_at((2 ** attempt).minutes.from_now, :check_turnitin_status, attempt + 1) if needs_retry
|
||||
self.turnitin_data_changed!
|
||||
self.save
|
||||
end
|
||||
|
|
|
@ -480,11 +480,11 @@ describe Submission do
|
|||
@turnitin_api.expects(:generateReport).with(@submission, @submission.asset_string).returns({})
|
||||
|
||||
expects_job_with_tag('Submission#check_turnitin_status') do
|
||||
@submission.check_turnitin_status(Submission::TURNITIN_RETRY-1)
|
||||
@submission.check_turnitin_status(Submission::TURNITIN_STATUS_RETRY-1)
|
||||
expect(@submission.reload.turnitin_data[@submission.asset_string][:status]).to eq 'pending'
|
||||
end
|
||||
|
||||
@submission.check_turnitin_status(Submission::TURNITIN_RETRY)
|
||||
@submission.check_turnitin_status(Submission::TURNITIN_STATUS_RETRY)
|
||||
@submission.reload
|
||||
updated_data = @submission.turnitin_data[@submission.asset_string]
|
||||
expect(updated_data[:status]).to eq 'error'
|
||||
|
|
Loading…
Reference in New Issue