小编Joh*_*hir的帖子

Heroku上的Rack :: Static应用程序的HTTP基本身份验证

我有一个在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?奖励积分,如果它只适用于生产环境.

谢谢

ruby rack heroku basic-authentication

9
推荐指数
2
解决办法
4088
查看次数

使用PostgreSQL v.MySQL时,为什么Rails上的整数大小限制不同?

我正在将我的应用程序从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的最小尺寸较小的问题吗?

ruby mysql postgresql ruby-on-rails

9
推荐指数
1
解决办法
3246
查看次数

Rails和attr_accessible:如果质量分配非质量可分配属性,有没有办法引发异常?

如果尝试批量分配attr_accessible不允许的属性,是否有办法让rails引发错误?

这在开发中很方便,以提醒我为什么我的闪亮的新模型不起作用,并且还可以登录生产以检测恶意活动.

我正在使用rails 2.3.8,但可能很快就会迁移到3.

ruby ruby-on-rails exception attr-accessible

8
推荐指数
1
解决办法
654
查看次数

如何在capistrano中使用--trace运行rake?

我希望capistrano用--trace调用rake,这样我就可以弄清楚它失败的原因.我该怎么做呢?set :rake 'rake --trace'不起作用.

ruby rake capistrano

8
推荐指数
1
解决办法
5171
查看次数

仅在特定服务器上调用delayed_job capistrano任务

我有一个用于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 capistrano delayed-job

8
推荐指数
1
解决办法
1987
查看次数

MySQL表锁定:持有者读写,其他会话只能读取?

是否可以锁定一个表,使得持有者可以读写,而其他会话只能读取?

文档似乎暗示读锁允许每个人只读,而写锁只允许持有者读写,而其他会话无法访问.似乎让持有者能够读写,而其他只能读取的会话将是一种非常常见的行为 - 也许是最常需要的行为.

也许在实施这种情况时遇到的性能太高了?

mysql sql transactions table-locking

8
推荐指数
1
解决办法
2904
查看次数

如何部署线程安全的异步Rails应用程序?

我已经在网上阅读了大量关于不同版本的ruby和rails中的线程安全性和性能的材料,我想我现在对这些事情了解得很清楚.

讨论中似乎奇怪的是如何实际部署异步Rails应用程序.在谈论应用程序中的线程和同步时,人们想要优化两件事:

  1. 利用所有CPU内核,最小化RAM使用率
  2. 能够在先前的请求等待IO时提供新请求

第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点很重要?

ruby multithreading rack ruby-on-rails thin

8
推荐指数
1
解决办法
2170
查看次数

为什么我的用户的下载在IE中随机停止?

我有由iframe中的重定向触发的下载.

  1. 用户单击"下载"按钮
  2. 我们的JS从服务器获取下载URL(它是一个超时URL,因此必须以这种方式完成)
  3. iframe被重定向到下载URL,其中包含附件的内容处理,因此浏览器启动下载而不更改页面的位置.

这适用于所有用户和浏览器...除了一些IE用户.

我试图重现这个问题,这就是我想出的:

  • 如果快速点击"保存或打开"对话框,下载始终有效
  • 如果慢慢点击"保存或打开"对话框(如10-20秒),下载有时会起作用,有时则不然.我一直无法找到一种模式.

这是它卡住时的样子:

在此输入图像描述

问题不在于S3上的链接超时 - 我上面的实验完全在时间窗口内.

什么可能导致这些零星的下载失败?

更新

服务器日志表明下载完全发送给用户.

windows internet-explorer

8
推荐指数
2
解决办法
691
查看次数

使用线程安全时,模型类未在延迟作业中加载

我有一个长期以来一直运作良好的应用程序.我正在开启线程安全!,现在延迟工作无效,说它无法找到我的模型文件之一.

Job failed to load: undefined class/module Foo

这不是我在/ lib中定义的自定义作业类,这是app/models中的模型文件

什么可能导致这个类没有被加载?

ruby-on-rails delayed-job

8
推荐指数
1
解决办法
3069
查看次数

什么是uWSGI主进程?

什么是uWSGI主进程?

和/或我在哪里可以阅读更多相关信息?

我找到了零文档.

uwsgi

8
推荐指数
1
解决办法
6648
查看次数