草庐IT

rb_gc_mark

全部标签

ruby-on-rails - 删除 staging.rb 和 production.rb 之间的重复

我的Rails应用程序(在Heroku上运行)有一个暂存和生产环境。目前,我必须在每个文件中分别定义staging.rb和production.rb中的很多内容,例如:#Codeisnotreloadedbetweenrequestsconfig.cache_classes=true#Fullerrorreportsaredisabledandcachingisturnedonconfig.consider_all_requests_local=falseconfig.action_controller.perform_caching=true#DisableRails'sstatic

ruby - 如何将 IRB 输入保存到 .rb 文件?

这听起来像是一个新手问题(这是因为我是Ruby和IRB的新手)但是有没有办法将您在IRB中执行的命令保存到文件中?我正在玩WATIR,我很乐意将我所有的输入保存到文件中,而不是复制和粘贴每个输入。感谢您的帮助! 最佳答案 在我的机器上,我可以将其放入我的.irbrc文件(位于您的主目录中):Kernel.at_exit{File.open("irb.log","w")do|f|f它会创建一个文件irb.log,其中包含您的readline历史记录。Irb使用readline进行命令输入。它可能被配置为不对某些人使用readline,

ruby-on-rails - 如何将 routes.rb 拆分成更小的文件

是否可以拆分Rails3.Xroutes.rb文件?我们有很多资源,很难找到它们。我想至少拆分APP和RESTAPI路由。谢谢! 最佳答案 你可以这样做:路线.rbrequire'application_routes'require'rest_api_routes'lib/application_routes.rbYourApplication::Application.routes.drawdo#Applicationrelatedroutesendlib/rest_api_routes.rbYourApplication::Ap

ruby-on-rails - Heroku:如何将 seeds.rb 推送到现有的 Rails 应用程序?

我将所有应用程序的数据存储在本地的seeds.rb中。然而,在我将所有内容推送到Heroku之后,该应用程序运行良好,但没有任何数据。我不想再次重新输入海量数据,请问有没有人可以帮帮我? 最佳答案 如果将应用推送到heroku,则可以使用以下命令为数据库播种。herokurunrakedb:seed 关于ruby-on-rails-Heroku:如何将seeds.rb推送到现有的Rails应用程序?,我们在StackOverflow上找到一个类似的问题: ht

ruby-on-rails - 每个请求的 Ruby GC 执行超过 ~250-320 毫秒

我有一个ruby​​onrails应用程序。我正在调查我的NewRelic门户中的Apdex下降情况,我发现平均有250-320毫秒的时间花在了GC执行上。这是一个非常令人不安的数字。我在下面包含了一个屏幕截图。我的Ruby版本是:ruby1.9.3p194(2012-04-20修订版35410)[x86_64-linux]任何关于调整它的建议都是理想的。这个数字应该低得多。 最佳答案 您在GC上花费了很多时间,因为您经常运行GC。默认情况下,Ruby设置适用于小型脚本而非大型应用程序的GC参数。尝试使用以下环境参数集启动您的应用:

Ruby:打开的文件太多@rb_sysopen

在使用File.new(big_file)打开一个文件(不关闭它)1016次(Ubuntu)或1017次(CentOS)后,似乎有一个限制并引发:Toomanyopenfiles@rb_sysopen-big_file(Errno::EMFILE)有什么办法可以提高这个限制吗?在我的系统上,ulimit设置为unlimited。 最佳答案 EMFILE是在您的进程中打开的文件太多。ENFILE是整个系统打开的文件太多。所以Errno::EMFILE是因为ruby​​进程打开了太多文件。此限制可能设置为默认1024可以看到:$ulim

ruby - Ruby 的 GC.stat 字段是什么意思?

我正在使用GC.stat来分析我们的Rails应用程序中的内存使用情况。GC.stat返回具有以下键的散列::count:heap_used:heap_length:heap_increment:heap_live_num:heap_free_num:heap_final_num有人知道这些值的确切含义吗?Ruby源代码(gc.c)中没有关于它们的文档,只有评论:“散列的内容是实现定义的,将来可能会更改。”其中一些字段在上下文中是有意义的,例如count是Ruby分配的堆数。但是heap_final_num是什么?什么是heap_increment?heap_length是最小堆大小吗

ruby - 错误 : Failed to build gem native extension (ruby extconf. rb): Mac OSX

这个问题在这里已经有了答案:RubyGeminstallJsonfailsonMavericksandXcode5.1-unknownargument:'-multiply_definedsuppress'(11个答案)关闭7年前。我正在尝试安装一个gem,但出现了这个错误,这是我自己和gem作者以前从未见过的。我该如何解决这个问题?Davids-MacBook-Pro:webdavid$sudo/usr/bin/geminstallcompass--prePassword:Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Err

带有 Gitlab 的 Ruby Gems 没有要加载的此类文件 -- rb-inotify

我正在使用Gitlab,我正在尝试按照这些说明将我的gitolitev2升级到v3:“如果这个问题出现在2.9.x中,你应该重新安装gitolite。1)备份所有存储库。只需将/home/git/repositories/*复制到其他地方即可。2)安装新的gitolite。参见https://github.com/gitlabhq/gitlabhq/blob/master/doc/installation.md3)复制存储库。4)sudo-ugitlab-Hbundleexecrakegitlab:gitolite:update_keys&&sudo-ugitlab-Hbundleex

ruby - 需要不带 .rb 扩展名的 ruby​​ 文件?

我有一个没有.rb扩展名的ruby​​文件,而是被识别为文件开头带有shebang的ruby​​代码:#!/usr/bin/环境ruby。我想在另一个ruby​​文件中require这个文件中的代码,但它似乎有问题,因为require自动附加.rb它查找的文件的扩展名。有没有什么办法可以抑制这种行为,让require只查找给定名称的文件? 最佳答案 改用load:load'file-name' 关于ruby-需要不带.rb扩展名的ruby​​文件?,我们在StackOverflow上找到