2016-09-21 76 views
0

,所以我得到的連接失敗,失敗了,這說明這個錯誤:法拉第連接上rake任務

rake aborted! 

Faraday::ConnectionFailed: execution expired 

如何我能得到這個沒有爆炸我的rake任務,只是無論是重試或跳到下一行?

我的繼承人rake任務

require 'nokogiri' 
require 'open-uri' 
namespace :webtask do 
    task populate: :environment do 
    Event.all.each do |row| 
     tweventname = I18n.transliterate(row.eventname) 
     url = url here 
     doc = Nokogiri::HTML(open(url)) 
     doc.css('.table__row--event').each do |tablerow| 
     table = tablerow.css('.table__cell__body--location').css('h4').text 
     next unless table == row.eventvenuename 
      tablerow.css('.table__cell__body--availability').each do |button| 
      buttonurl = button.css('a')[0]['href'] 
      if buttonurl.include? '/checkout/external' 
       else 
      row.update(url: buttonurl) 
      end 
      end 
     end 
    end 
    end 
end 

回答

0

也許一個標準的救援塊就是你需要的。

require 'nokogiri' 
require 'open-uri' 
namespace :webtask do 
    task populate: :environment do 
    Event.all.each do |row| 
     begin #Tells rescue where to jump 
     tweventname = I18n.transliterate(row.eventname) 
     url = url here 
     doc = Nokogiri::HTML(open(url)) 
     doc.css('.table__row--event').each do |tablerow| 
     table = tablerow.css('.table__cell__body--location').css('h4').text 
     next unless table == row.eventvenuename 
      tablerow.css('.table__cell__body--availability').each do |button| 
      buttonurl = button.css('a')[0]['href'] 
      if buttonurl.include? '/checkout/external' 
       else 
      row.update(url: buttonurl) 
      end 
      end 
     end 
    end 
    rescue Faraday::ConnectionFailed 
    next 
    end 
    end 
end 
+0

嘿,那裏,謝謝你的答案,但我得到了一個錯誤,這很糟糕! –