lib/datahen/client/job_page.rb in datahen-1.1.2 vs lib/datahen/client/job_page.rb in datahen-1.2.1

- old
+ new

@@ -68,10 +68,14 @@ params = @options.merge({body: body.to_json}) limit = opts.has_key?(:retry_limit) ? opts.fetch(:retry_limit) : self.default_retry_limit[:parser] self.retry(limit, 5, "Error while updating the parser.") do - self.class.put("/jobs/#{job_id}/pages/#{gid}/parsing_update", params) + response = self.class.put("/jobs/#{job_id}/pages/#{gid}/parsing_update", params) + if response.code == 422 && response.body.to_s =~ /pq:\s*deadlock/i + raise Error::CustomRetryError.new(self.class.random_delay(5), response.body.to_s) + end + response end end def find_content(job_id, gid) self.class.get("/jobs/#{job_id}/pages/#{gid}/content", @options)