ruby-on-rails – RSpec和Machinist错误:打开的文件太多
发布时间:2020-12-17 04:16:57 所属栏目:百科 来源:网络整理
导读:今天早上我遇到以下错误: 14) Deal on creation sets frozen to false or nil Failure/Error: Unable to find matching line from backtrace Errno::EMFILE: Too many open files - identify -format %wx%h '/var/folders/BJ/BJcTANEBFxWcan28U2YEKE+++TI/-
今天早上我遇到以下错误:
14) Deal on creation sets frozen to false or nil Failure/Error: Unable to find matching line from backtrace Errno::EMFILE: Too many open files - identify -format %wx%h '/var/folders/BJ/BJcTANEBFxWcan28U2YEKE+++TI/-Tmp-/stream20120229-36866-4l1sa8.gif[0]' # ./spec/support/blueprints.rb:29:in `block in <top (required)>' 规格太慢了(即使用spork),所以它们没用.在模型中运行20个示例需要9分钟. blueprint.rb中的第29行位于以下块之间: Company.blueprint do name { "Office Tronic#{rand(10 ** 10)}" } website { 'officetronic.com' } subdomain {"officetronic#{rand(10 ** 10)}"} facebook { 'officetronic' } twitter { 'officetronic' } description { 'We are a company dealing with electronics and office supply' } address_line1 {'34 John Street'} address_line2 {''} post_code { 'EC2 3RR' } phone { '01 343243434' } city { 'London' } your_name { 'john Doe' } font_colour {'000000'} logo_file_name { 'mylogo.png' } logo_content_type { "application/png" } logo_file_size { 100 } end Deal.blueprint do company {Company.make!} title { '50% off for web sites dev' } description { '50% of discount...' } quantity { 1 } min_quantity { 0 } start_time { Chronic.parse('one month') } end_time { Chronic.parse('two months') } price { 1500 } # in cents shipping_cost{ 100 } # in cents published { true } small_print { 'Some text' } show_map { true } post_code { 'E1 6BJ' } rrp {15} end 解决方法
打开的文件太多是操作系统错误,这意味着操作系统已用完文件句柄. Linux通常对可以同时打开多少文件有严格的限制,并且已达到该限制.
要临时增加限制,请先运行ulimit -n 8192,然后运行规范. 要永久性地增加限制,follow these instructions,并使用您用来运行规范的用户帐户的名称替换nginx. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |