草庐IT

程序停止运行

全部标签

ruby-on-rails - 上帝停止resque worker rake

我在生产网站上使用Resque。当我部署时,我希望GOD停止所有worker然后重新启动它们,因为有时我们更改类的代码并重新排队失败的作业。问题是,当我执行godstopresque时,rake实际上并没有停止,工作人员仍然活着并使用旧代码,这给我带来了各种各样的问题。即使我“上帝终止”它也不会杀死worker。现在,我正在使用shell脚本来杀死工作人员,但由于我有不止一台服务器,所以在所有生产服务器上进行操作非常痛苦。这是我的上帝配置文件:rails_env=ENV['RAILS_ENV']||"production"rails_root=ENV['RAILS_ROOT']||"/

ruby-on-rails - 旧的 Ruby 错误在我的 Ruby on Rails 应用程序中反复出现,与 Class.create 和 delayed_job 相关

这个错误已经有好几个月了,在这里:http://www.ruby-forum.com/topic/1094002其中显示代码更改的两个链接:https://github.com/godfat/ruby/commit/f4e0e8f781b05c767ad2472a43a4ed0727a75708https://github.com/godfat/ruby/commit/c7a6cf975d88828c2ed27d253f41c480f9b66ad6我有Ruby1.9.2和rvm。我会把这些更改粘贴到适当的文件中,但我不知道如何粘贴。这在几天前就奏效了。我不能像这样执行RubyonRai

ruby-on-rails - 如果没有可用标签,则运行标记规范或全部

我将guard与rspec和cucumber一起使用。要连续运行选定的规范,我只需使用focus标记来确定我要处理的内容。但问题是,如果没有带有该标签的规范,我想运行所有规范。我该怎么做?注意::我知道所有RSpec选项。因此,请仅在阅读问题后回复。 最佳答案 我通过以下配置实现了您描述的行为:#torunonlyspecificspecs,add:focustothespec#describe"foo",:focusdo#OR#it"shouldfoo",:focusdoconfig.treat_symbols_as_metada

ruby - 单元测试 ruby​​ 命令行应用程序的代码 - 如何模拟/传递 ARGV

我有一个命令行应用程序,它使用thor来处理选项的解析。我想使用test-unit和/或minitest针对代码对命令行功能进行单元测试。我似乎无法弄清楚如何确保ARGV数组(通常会保存命令行中的选项)保存我的测试选项,以便它们可以根据代码进行测试。具体应用代码:#myapp/commands/build.rbrequire'thor'moduleMyappmoduleCommands#DefinebuildcommandsforMyAppcommandlineclassBuild:test_unit#Definesourcerootofapplicationdefself.sourc

ruby - 为什么一个简单的瘦服务器在进行基准测试时会在 16500 个请求时停止响应?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:'ab'programfreezesafterlotsofrequests,why?这是一个简单的测试服务器:require'rubygems'require'rack'require'thin'classHelloWorlddefcall(env)[200,{"Content-Type"=>"text/plain"},"OK"]endendRack::Handler::Thin.runHelloWorld.new,:Port=>9294#I'vetriedwiththeseaddedtoo,'rack.mu

ruby-on-rails - 如何(大量)减少 Rails 应用程序中的 SQL 查询数量?

在我的Rails应用程序中,我有users,它可以有许多invoices,而invoices又可以有许多payments。现在在dashboardView中,我想总结一个user曾经收到的所有payments,按年、季度或月。付款也分割为毛额、Netty和税额。user.rb:classUser:items).allpayments_with_invoice.select{|x|range.cover?x.date}.sum(&:"#{kind}_amount")endend发票.rb:classInvoicepayment.rb:classPaymentdashboards_cont

ruby - 在 Heroku 中的 Puma 上部署 Rails 应用程序时出错

我正在尝试部署在Puma和jruby上运行的Rails应用程序。Procfile如下web:bundleexecpuma-Cconfig/puma.rb-p$PORT-e$RACK_ENVPuma的配置放在config/puma.rbifENV['RACK_ENV']!='production'||ENV['RAILS_ENV']!='production'workersInteger(ENV['PUMA_WORKERS']||4)endthreadsInteger(ENV['MIN_THREADS']||1),Integer(ENV['MAX_THREADS']||4)rackupD

ruby-on-rails - 收集 Rails 应用程序使用统计信息的最佳方式

我有一个Rails应用程序,用户可以在其中设置他们的域并在其中发布内容。我需要收集公共(public)流量统计信息,例如网页浏览量等。此功能的一个很好的例子是我作为客户可以看到的flickr使用统计信息。问题是收集使用信息的最佳方式是什么。应该通过解析日志文件来完成还是应该在运行时收集并存储在数据库中?是否有任何工具或Rails插件已经提供了此功能?此解决方案应该可以很好地扩展,即使每月有数千个域和数百万次网页浏览。 最佳答案 GoogleAnalytics可能是您最好的选择... 关于

ruby - 用 Ruby 替换运行时实现

Ruby中的依赖注入(inject)框架几乎已被宣布为不必要。贾米斯·巴克(JamisBuck)去年在他的LEGOs,Play-Doh,andProgramming中写到了这一点。博文。普遍接受的替代方案似乎是使用某种程度的构造函数注入(inject),但只是提供默认值。classAendclassBdefinitialize(options={})@client_impl=options[:client]||Aenddefnew_client@client_impl.newendend这种方法对我来说很好,但它似乎缺少更传统设置的一件事:一种在运行时基于某些外部开关替换实现的方法。例

ruby - 启动和停止 Ruby 线程

我如何从另一个线程中启动和停止一个单独的线程?loop_a_stopped=trueloop_a=Thread.newdoloopdoThread.stopifloop_a_stopped#Dostuffsleep3endendloop_b=Thread.newdoloopdoresponse=ask(">")caseresponse.strip.downcasewhen"start"loop_a_stopped=falseloop_a.runwhen"stop"loop_a_stopped=truewhen"exit"breakendendendloop_a.joinloop_b.j