我想知道从我的应用程序跟踪独角兽超时的最佳方法是什么.
应用程序的一些部分很慢,它们目前悄然超时.我可以增加超时但这就是在地毯下推迟问题.理想情况下,我想获得空气制动通知或其他类似的效果.我不是在寻找性能指南,只是一种有效且可靠地了解超时的方法.
其他人如何使用独角兽从他们的rails应用程序处理超时?扫描nginx错误日志?插入unicorn配置中的处理程序?nginx配置中的处理程序?
[Ubuntu 12.04 + nginx + unicorn + rails 3.2 + ruby 1.9.3]
我想获取通过块的第一个“n”个条目
a = 1..100_000_000 # Basically a long array
# This iterates over the whole array -- no good
b = a.select{|x| x.expensive_operation?}.take(n)
Run Code Online (Sandbox Code Playgroud)
一旦我有 n 个“昂贵”条件为真的条目,我想短路迭代。
你有什么建议?take_while 并保持计数 n?
# This is the code i have; which i think can be written better, but how?
a = 1..100_000_000 # Basically a long array
n = 20
i = 0
b = a.take_while do |x|
((i < n) && (x.expensive_operation?)).tap do |r|
i += 1
end
end
Run Code Online (Sandbox Code Playgroud) 在我的情况下,即使有验证错误,它也不会显示验证错误消息.
例如,我将这两列保留为空,并确保键入了验证字.然后,如果我尝试创建新记录.它不会显示验证错误:(它返回到表单但没有消息.
我一直在这个项目中一直使用验证错误消息,我从来没有遇到过这个问题.
任何人都可以在这里找到问题?
在主题模型中验证
validates :title,
:presence => {:message => "can't be empty" },
:uniqueness => {:message => "choose unique title" },
:length => { :maximum => 20, :message => "must be less than 20 characters" }
validates :body,
:presence => {:message => "can't be empty" },
:length => { :maximum => 500, :message => "must be less than 20 characters" }
Run Code Online (Sandbox Code Playgroud)
形成
<%= form_for([@community, @topic]) do |f| %>
.....
<%= button_tag( :class => "btn btn-primary") do %>
Create …Run Code Online (Sandbox Code Playgroud)