我有一个在Heroku上托管的简单Rack应用程序.config.ru:
use Rack::Static,
:urls => ["/stylesheets", "/images", "/javascripts"],
:root => "public"
run lambda { |env|
[
200,
{
'Content-Type' => 'text/html',
'Cache-Control' => 'public, max-age=86400'
},
File.open('public/index.html', File::RDONLY)
]
}
Run Code Online (Sandbox Code Playgroud)
如何为此添加HTTP Basic Auth?奖励积分,如果它只适用于生产环境.
谢谢
我正在将我的应用程序从MySQL迁移到Postgres.如果我这样做rake db:schema:load,它会很好地加载到Postgres中,并且我的所有测试都会通过.
如果我这样做rake db:migrate:reset,那么我之前设置的整数列将:limit => 1被设置为具有:limit => 2.
我的迁移设置如下:
t.integer "foo", :limit => 1, :null => false
Run Code Online (Sandbox Code Playgroud)
仅仅是Postgres的最小尺寸较小的问题吗?
如果尝试批量分配attr_accessible不允许的属性,是否有办法让rails引发错误?
这在开发中很方便,以提醒我为什么我的闪亮的新模型不起作用,并且还可以登录生产以检测恶意活动.
我正在使用rails 2.3.8,但可能很快就会迁移到3.
我希望capistrano用--trace调用rake,这样我就可以弄清楚它失败的原因.我该怎么做呢?set :rake 'rake --trace'不起作用.
我有一个用于delayed_job任务的专用服务器.我要开始,停止和重新启动delayed_job的工人只有这台服务器.我正在使用delayed_job提供的capistrano食谱.
当我只有1台服务器时,这是我的配置:
before "deploy:restart", "delayed_job:stop"
after "deploy:restart", "delayed_job:start"
after "deploy:stop", "delayed_job:stop"
after "deploy:start", "delayed_job:start"
Run Code Online (Sandbox Code Playgroud)
现在我想让这些钩子只适用于一个单独的delayed_job服务器(role :delayed_job <ip address>).这可能是优雅的吗?我是否必须在meta任务中包装每个delayed_job任务?或者编写我自己的任务而不是使用延迟工作提供的任务?
是否可以锁定一个表,使得持有者可以读写,而其他会话只能读取?
该文档似乎暗示读锁允许每个人只读,而写锁只允许持有者读写,而其他会话无法访问.似乎让持有者能够读写,而其他只能读取的会话将是一种非常常见的行为 - 也许是最常需要的行为.
也许在实施这种情况时遇到的性能太高了?
我已经在网上阅读了大量关于不同版本的ruby和rails中的线程安全性和性能的材料,我想我现在对这些事情了解得很清楚.
讨论中似乎奇怪的是如何实际部署异步Rails应用程序.在谈论应用程序中的线程和同步时,人们想要优化两件事:
第1点是人们(正确地)对JRuby感到兴奋的地方.对于这个问题,我只想优化第2点.
说这是我的应用程序中唯一的控制器:
TheController < ActionController::Base
def fast
render :text => "hello"
end
def slow
render :text => User.count.to_s
end
end
Run Code Online (Sandbox Code Playgroud)
fast没有IO,每秒可以服务数百或数千个请求,并且slow必须通过网络发送请求,等待工作完成,然后通过网络接收答案,因此要慢得多fast.
因此,理想的部署将允许在请求等待IO时fast满足数百个请求slow.
围绕Web的讨论似乎缺少的是堆栈的哪一层负责实现这种并发.thin有一个--threaded标志,它将"在线程中调用机架应用程序[实验]" - 是否为每个传入请求启动一个新线程?在持久存在并等待传入请求的线程中假装机架应用程序实例?
瘦是唯一的方式还是其他人?ruby运行时是否对优化第2点很重要?
我有由iframe中的重定向触发的下载.
这适用于所有用户和浏览器...除了一些IE用户.
我试图重现这个问题,这就是我想出的:
这是它卡住时的样子:

问题不在于S3上的链接超时 - 我上面的实验完全在时间窗口内.
什么可能导致这些零星的下载失败?
更新
服务器日志表明下载完全发送给用户.
我有一个长期以来一直运作良好的应用程序.我正在开启线程安全!,现在延迟工作无效,说它无法找到我的模型文件之一.
Job failed to load: undefined class/module Foo
这不是我在/ lib中定义的自定义作业类,这是app/models中的模型文件
什么可能导致这个类没有被加载?
ruby ×6
capistrano ×2
delayed-job ×2
mysql ×2
rack ×2
exception ×1
heroku ×1
postgresql ×1
rake ×1
sql ×1
thin ×1
transactions ×1
uwsgi ×1
windows ×1