1
當我運行這段代碼有一個任務,它的工作原理的SQLite3 :: BusyException:數據庫被鎖定:INSERT INTO
task :importGss => :environment do
Gss.delete_all
file = Rails.root + "app/assets/CSVs/gss.csv"
csv_text = File.read(file)
puts csv_text.size
csv = CSV.parse(csv_text, :col_sep => ';', :headers => true)
csv.each do |row|
Gss.create!(row.to_hash)
end
當我與一個MVC運行它,我有以下消息:
的ActiveRecord :: StatementInvalid(SQLite3的:: BusyException:數據庫被鎖定:
我在GSS模型把上面的代碼中的函數 進口從具有獲取瀏覽器被路由到啓動。控制器調用模型導入功能 導入完成後,應將完整的記錄列表返回到視圖。 csv文件有4k行。 導入過程需要時間,並且似乎恰好在60秒後重新發送GET。 有人可以解釋我如何避免這種重新發送導致崩潰導入?
謝謝!它的作品知道。這種重新發送GET的超時會怎麼樣?有沒有辦法避免這種情況? – user3239711
我不知道任何,我不認爲服務器控制,即客戶端?雖然我不確定。這個動作現在不到60秒,但是正確嗎? – RichardAE
是的,但如果我需要上傳啤酒文件?我不知道它是否來自瀏覽器。在這種情況下,是否有可能測試數據庫繁忙以避免衝突的事實 – user3239711